Reduce to build only at every push

This commit is contained in:
Thomas Roehl
2025-12-18 17:00:53 +01:00
parent 923f1e9b73
commit c950513f09

View File

@@ -17,19 +17,23 @@ jobs:
build-latest: build-latest:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# Use apt to install development packages
- name: Install development packages
run: |
apt update && apt --assume-yes upgrade
apt --assume-yes install build-essential sed git wget bash hwloc
# See: https://github.com/marketplace/actions/checkout # See: https://github.com/marketplace/actions/checkout
# Checkout git repository and submodules # Checkout git repository and submodules
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
submodules: recursive submodules: recursive
# See: https://github.com/marketplace/actions/setup-go-environment # See: https://github.com/marketplace/actions/setup-go-environment
- name: Setup Golang - name: Setup Golang
uses: actions/setup-go@v5 uses: actions/setup-go@v6
with: with:
go-version: '1.21' go-version-file: 'go.mod'
check-latest: true
- name: Build MetricCollector - name: Build MetricCollector
run: make run: make
@@ -37,247 +41,247 @@ jobs:
- name: Run MetricCollector once - name: Run MetricCollector once
run: ./cc-metric-collector --once --config .github/ci-config.json run: ./cc-metric-collector --once --config .github/ci-config.json
# # #
# Build on AlmaLinux 8 # # Build on AlmaLinux 8
# # #
AlmaLinux8-RPM-build: # AlmaLinux8-RPM-build:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
# See: https://hub.docker.com/_/almalinux # # See: https://hub.docker.com/_/almalinux
container: almalinux:8 # container: almalinux:8
# The job outputs link to the outputs of the 'rpmrename' step # # The job outputs link to the outputs of the 'rpmrename' step
# Only job outputs can be used in child jobs # # Only job outputs can be used in child jobs
steps: # steps:
# Use dnf to install development packages # # Use dnf to install development packages
- name: Install development packages # - name: Install development packages
run: | # run: |
dnf --assumeyes group install "Development Tools" "RPM Development Tools" # dnf --assumeyes group install "Development Tools" "RPM Development Tools"
dnf --assumeyes install wget openssl-devel diffutils delve which # dnf --assumeyes install wget openssl-devel diffutils delve which
# Checkout git repository and submodules # # Checkout git repository and submodules
# fetch-depth must be 0 to use git describe # # fetch-depth must be 0 to use git describe
# See: https://github.com/marketplace/actions/checkout # # See: https://github.com/marketplace/actions/checkout
- name: Checkout # - name: Checkout
uses: actions/checkout@v4 # uses: actions/checkout@v4
with: # with:
submodules: recursive # submodules: recursive
fetch-depth: 0 # fetch-depth: 0
# See: https://github.com/marketplace/actions/setup-go-environment # # See: https://github.com/marketplace/actions/setup-go-environment
# # - name: Setup Golang
# # uses: actions/setup-go@v5
# # with:
# # go-version: 'stable'
# - name: Setup Golang
# run: |
# dnf --assumeyes --disableplugin=subscription-manager install \
# https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/go-toolset-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
# https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
# https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-bin-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
# https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-src-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.noarch.rpm
# - name: RPM build MetricCollector
# id: rpmbuild
# run: |
# git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
# make RPM
# #
# # Build on AlmaLinux 9
# #
# AlmaLinux9-RPM-build:
# runs-on: ubuntu-latest
# # See: https://hub.docker.com/_/almalinux
# container: almalinux:9
# # The job outputs link to the outputs of the 'rpmrename' step
# # Only job outputs can be used in child jobs
# steps:
# # Use dnf to install development packages
# - name: Install development packages
# run: |
# dnf --assumeyes group install "Development Tools" "RPM Development Tools"
# dnf --assumeyes install wget openssl-devel diffutils delve which
# # Checkout git repository and submodules
# # fetch-depth must be 0 to use git describe
# # See: https://github.com/marketplace/actions/checkout
# - name: Checkout
# uses: actions/checkout@v4
# with:
# submodules: recursive
# fetch-depth: 0
# # See: https://github.com/marketplace/actions/setup-go-environment
# # - name: Setup Golang
# # uses: actions/setup-go@v5
# # with:
# # go-version: 'stable'
# - name: Setup Golang
# run: |
# dnf --assumeyes --disableplugin=subscription-manager install \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/go-toolset-1.25.3-1.el9_7.x86_64.rpm \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-1.25.3-1.el9_7.x86_64.rpm \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-bin-1.25.3-1.el9_7.x86_64.rpm \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-src-1.25.3-1.el9_7.noarch.rpm \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-race-1.25.3-1.el9_7.x86_64.rpm
# - name: RPM build MetricCollector
# id: rpmbuild
# run: |
# git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
# make RPM
# #
# # Build on UBI 8 using go-toolset
# #
# UBI-8-RPM-build:
# runs-on: ubuntu-latest
# # See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti
# container: redhat/ubi8
# # The job outputs link to the outputs of the 'rpmbuild' step
# steps:
# # Use dnf to install development packages
# - name: Install development packages
# run: dnf --assumeyes --disableplugin=subscription-manager install rpm-build go-srpm-macros rpm-build-libs rpm-libs gcc make python38 git wget openssl-devel diffutils delve which
# # Checkout git repository and submodules
# # fetch-depth must be 0 to use git describe
# # See: https://github.com/marketplace/actions/checkout
# - name: Checkout
# uses: actions/checkout@v4
# with:
# submodules: recursive
# fetch-depth: 0
# # See: https://github.com/marketplace/actions/setup-go-environment
# # - name: Setup Golang
# # uses: actions/setup-go@v5
# # with:
# # go-version: 'stable'
# - name: Setup Golang
# run: |
# dnf --assumeyes --disableplugin=subscription-manager install \
# https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/go-toolset-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
# https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
# https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-bin-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
# https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-src-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.noarch.rpm
# - name: RPM build MetricCollector
# id: rpmbuild
# run: |
# git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
# make RPM
# #
# # Build on UBI 9 using go-toolset
# #
# UBI-9-RPM-build:
# runs-on: ubuntu-latest
# # See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti
# container: redhat/ubi9
# # The job outputs link to the outputs of the 'rpmbuild' step
# steps:
# # Use dnf to install development packages
# - name: Install development packages
# run: dnf --assumeyes --disableplugin=subscription-manager install rpm-build go-srpm-macros gcc make python39 git wget openssl-devel diffutils delve
# # Checkout git repository and submodules
# # fetch-depth must be 0 to use git describe
# # See: https://github.com/marketplace/actions/checkout
# - name: Checkout
# uses: actions/checkout@v4
# with:
# submodules: recursive
# fetch-depth: 0
# # See: https://github.com/marketplace/actions/setup-go-environment
# # - name: Setup Golang
# # uses: actions/setup-go@v5
# # with:
# # go-version: 'stable'
# - name: Setup Golang
# run: |
# dnf --assumeyes --disableplugin=subscription-manager install \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/go-toolset-1.25.3-1.el9_7.x86_64.rpm \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-1.25.3-1.el9_7.x86_64.rpm \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-bin-1.25.3-1.el9_7.x86_64.rpm \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-src-1.25.3-1.el9_7.noarch.rpm \
# https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-race-1.25.3-1.el9_7.x86_64.rpm
# - name: RPM build MetricCollector
# id: rpmbuild
# run: |
# git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
# make RPM
# #
# # Build on Ubuntu 22.04 using official go package
# #
# Ubuntu-jammy-build:
# runs-on: ubuntu-latest
# container: ubuntu:22.04
# steps:
# # Use apt to install development packages
# - name: Install development packages
# run: |
# apt update && apt --assume-yes upgrade
# apt --assume-yes install build-essential sed git wget bash
# # Checkout git repository and submodules
# # fetch-depth must be 0 to use git describe
# # See: https://github.com/marketplace/actions/checkout
# - name: Checkout
# uses: actions/checkout@v4
# with:
# submodules: recursive
# fetch-depth: 0
# # Use official golang package
# # See: https://github.com/marketplace/actions/setup-go-environment
# - name: Setup Golang # - name: Setup Golang
# uses: actions/setup-go@v5 # uses: actions/setup-go@v5
# with: # with:
# go-version: 'stable' # go-version: 'stable'
- name: Setup Golang
run: |
dnf --assumeyes --disableplugin=subscription-manager install \
https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/go-toolset-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-bin-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-src-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.noarch.rpm
- name: RPM build MetricCollector # - name: DEB build MetricCollector
id: rpmbuild # id: dpkg-build
run: | # run: |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector # export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH
make RPM # make DEB
# # #
# Build on AlmaLinux 9 # # Build on Ubuntu 24.04 using official go package
# # #
AlmaLinux9-RPM-build: # Ubuntu-noblenumbat-build:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
# See: https://hub.docker.com/_/almalinux # container: ubuntu:24.04
container: almalinux:9
# The job outputs link to the outputs of the 'rpmrename' step
# Only job outputs can be used in child jobs
steps:
# Use dnf to install development packages # steps:
- name: Install development packages # # Use apt to install development packages
run: | # - name: Install development packages
dnf --assumeyes group install "Development Tools" "RPM Development Tools" # run: |
dnf --assumeyes install wget openssl-devel diffutils delve which # apt update && apt --assume-yes upgrade
# apt --assume-yes install build-essential sed git wget bash
# Checkout git repository and submodules # # Checkout git repository and submodules
# fetch-depth must be 0 to use git describe # # fetch-depth must be 0 to use git describe
# See: https://github.com/marketplace/actions/checkout # # See: https://github.com/marketplace/actions/checkout
- name: Checkout # - name: Checkout
uses: actions/checkout@v4 # uses: actions/checkout@v4
with: # with:
submodules: recursive # submodules: recursive
fetch-depth: 0 # fetch-depth: 0
# # Use official golang package
# See: https://github.com/marketplace/actions/setup-go-environment # # See: https://github.com/marketplace/actions/setup-go-environment
# - name: Setup Golang # - name: Setup Golang
# uses: actions/setup-go@v5 # uses: actions/setup-go@v5
# with: # with:
# go-version: 'stable' # go-version: 'stable'
- name: Setup Golang
run: |
dnf --assumeyes --disableplugin=subscription-manager install \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/go-toolset-1.25.3-1.el9_7.x86_64.rpm \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-1.25.3-1.el9_7.x86_64.rpm \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-bin-1.25.3-1.el9_7.x86_64.rpm \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-src-1.25.3-1.el9_7.noarch.rpm \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-race-1.25.3-1.el9_7.x86_64.rpm
- name: RPM build MetricCollector # - name: DEB build MetricCollector
id: rpmbuild # id: dpkg-build
run: | # run: |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector # export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH
make RPM # make DEB
#
# Build on UBI 8 using go-toolset
#
UBI-8-RPM-build:
runs-on: ubuntu-latest
# See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti
container: redhat/ubi8
# The job outputs link to the outputs of the 'rpmbuild' step
steps:
# Use dnf to install development packages
- name: Install development packages
run: dnf --assumeyes --disableplugin=subscription-manager install rpm-build go-srpm-macros rpm-build-libs rpm-libs gcc make python38 git wget openssl-devel diffutils delve which
# Checkout git repository and submodules
# fetch-depth must be 0 to use git describe
# See: https://github.com/marketplace/actions/checkout
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
# See: https://github.com/marketplace/actions/setup-go-environment
# - name: Setup Golang
# uses: actions/setup-go@v5
# with:
# go-version: 'stable'
- name: Setup Golang
run: |
dnf --assumeyes --disableplugin=subscription-manager install \
https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/go-toolset-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-bin-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.x86_64.rpm \
https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/golang-src-1.23.9-1.module_el8.10.0+4000+1ad1b2cc.noarch.rpm
- name: RPM build MetricCollector
id: rpmbuild
run: |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
make RPM
#
# Build on UBI 9 using go-toolset
#
UBI-9-RPM-build:
runs-on: ubuntu-latest
# See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti
container: redhat/ubi9
# The job outputs link to the outputs of the 'rpmbuild' step
steps:
# Use dnf to install development packages
- name: Install development packages
run: dnf --assumeyes --disableplugin=subscription-manager install rpm-build go-srpm-macros gcc make python39 git wget openssl-devel diffutils delve
# Checkout git repository and submodules
# fetch-depth must be 0 to use git describe
# See: https://github.com/marketplace/actions/checkout
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
# See: https://github.com/marketplace/actions/setup-go-environment
# - name: Setup Golang
# uses: actions/setup-go@v5
# with:
# go-version: 'stable'
- name: Setup Golang
run: |
dnf --assumeyes --disableplugin=subscription-manager install \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/go-toolset-1.25.3-1.el9_7.x86_64.rpm \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-1.25.3-1.el9_7.x86_64.rpm \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-bin-1.25.3-1.el9_7.x86_64.rpm \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-src-1.25.3-1.el9_7.noarch.rpm \
https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/Packages/golang-race-1.25.3-1.el9_7.x86_64.rpm
- name: RPM build MetricCollector
id: rpmbuild
run: |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
make RPM
#
# Build on Ubuntu 22.04 using official go package
#
Ubuntu-jammy-build:
runs-on: ubuntu-latest
container: ubuntu:22.04
steps:
# Use apt to install development packages
- name: Install development packages
run: |
apt update && apt --assume-yes upgrade
apt --assume-yes install build-essential sed git wget bash
# Checkout git repository and submodules
# fetch-depth must be 0 to use git describe
# See: https://github.com/marketplace/actions/checkout
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
# Use official golang package
# See: https://github.com/marketplace/actions/setup-go-environment
- name: Setup Golang
uses: actions/setup-go@v5
with:
go-version: 'stable'
- name: DEB build MetricCollector
id: dpkg-build
run: |
export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH
make DEB
#
# Build on Ubuntu 24.04 using official go package
#
Ubuntu-noblenumbat-build:
runs-on: ubuntu-latest
container: ubuntu:24.04
steps:
# Use apt to install development packages
- name: Install development packages
run: |
apt update && apt --assume-yes upgrade
apt --assume-yes install build-essential sed git wget bash
# Checkout git repository and submodules
# fetch-depth must be 0 to use git describe
# See: https://github.com/marketplace/actions/checkout
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
# Use official golang package
# See: https://github.com/marketplace/actions/setup-go-environment
- name: Setup Golang
uses: actions/setup-go@v5
with:
go-version: 'stable'
- name: DEB build MetricCollector
id: dpkg-build
run: |
export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH
make DEB