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 # # - name: Setup Golang
# uses: actions/setup-go@v5 # # uses: actions/setup-go@v5
# with: # # with:
# go-version: 'stable' # # go-version: 'stable'
- name: Setup Golang # - name: Setup Golang
run: | # run: |
dnf --assumeyes --disableplugin=subscription-manager install \ # 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/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-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-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 # 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: RPM build MetricCollector
id: rpmbuild # id: rpmbuild
run: | # run: |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector # git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
make RPM # make RPM
# # #
# Build on AlmaLinux 9 # # Build on AlmaLinux 9
# # #
AlmaLinux9-RPM-build: # AlmaLinux9-RPM-build:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
# See: https://hub.docker.com/_/almalinux # # See: https://hub.docker.com/_/almalinux
container: almalinux:9 # container: almalinux:9
# 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 # # - name: Setup Golang
# uses: actions/setup-go@v5 # # uses: actions/setup-go@v5
# with: # # with:
# go-version: 'stable' # # go-version: 'stable'
- name: Setup Golang # - name: Setup Golang
run: | # run: |
dnf --assumeyes --disableplugin=subscription-manager install \ # 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/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-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-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-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 # 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: RPM build MetricCollector
id: rpmbuild # id: rpmbuild
run: | # run: |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector # git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
make RPM # make RPM
# # #
# Build on UBI 8 using go-toolset # # Build on UBI 8 using go-toolset
# # #
UBI-8-RPM-build: # UBI-8-RPM-build:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
# See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti # # See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti
container: redhat/ubi8 # container: redhat/ubi8
# The job outputs link to the outputs of the 'rpmbuild' step # # The job outputs link to the outputs of the 'rpmbuild' step
steps: # steps:
# Use dnf to install development packages # # Use dnf to install development packages
- name: 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 # 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 # # 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 # # - name: Setup Golang
# uses: actions/setup-go@v5 # # uses: actions/setup-go@v5
# with: # # with:
# go-version: 'stable' # # go-version: 'stable'
- name: Setup Golang # - name: Setup Golang
run: | # run: |
dnf --assumeyes --disableplugin=subscription-manager install \ # 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/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-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-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 # 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: RPM build MetricCollector
id: rpmbuild # id: rpmbuild
run: | # run: |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector # git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
make RPM # make RPM
# # #
# Build on UBI 9 using go-toolset # # Build on UBI 9 using go-toolset
# # #
UBI-9-RPM-build: # UBI-9-RPM-build:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
# See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti # # See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti
container: redhat/ubi9 # container: redhat/ubi9
# The job outputs link to the outputs of the 'rpmbuild' step # # The job outputs link to the outputs of the 'rpmbuild' step
steps: # steps:
# Use dnf to install development packages # # Use dnf to install development packages
- name: 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 # 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 # # 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 # # - name: Setup Golang
# uses: actions/setup-go@v5 # # uses: actions/setup-go@v5
# with: # # with:
# go-version: 'stable' # # go-version: 'stable'
- name: Setup Golang # - name: Setup Golang
run: | # run: |
dnf --assumeyes --disableplugin=subscription-manager install \ # 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/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-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-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-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 # 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: RPM build MetricCollector
id: rpmbuild # id: rpmbuild
run: | # run: |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector # git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector
make RPM # make RPM
# # #
# Build on Ubuntu 22.04 using official go package # # Build on Ubuntu 22.04 using official go package
# # #
Ubuntu-jammy-build: # Ubuntu-jammy-build:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
container: ubuntu:22.04 # container: ubuntu:22.04
steps: # steps:
# Use apt to install development packages # # Use apt to install development packages
- name: Install development packages # - name: Install development packages
run: | # run: |
apt update && apt --assume-yes upgrade # apt update && apt --assume-yes upgrade
apt --assume-yes install build-essential sed git wget bash # 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 # # 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: DEB build MetricCollector # - name: DEB build MetricCollector
id: dpkg-build # id: dpkg-build
run: | # run: |
export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH # export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH
make DEB # make DEB
# # #
# Build on Ubuntu 24.04 using official go package # # Build on Ubuntu 24.04 using official go package
# # #
Ubuntu-noblenumbat-build: # Ubuntu-noblenumbat-build:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
container: ubuntu:24.04 # container: ubuntu:24.04
steps: # steps:
# Use apt to install development packages # # Use apt to install development packages
- name: Install development packages # - name: Install development packages
run: | # run: |
apt update && apt --assume-yes upgrade # apt update && apt --assume-yes upgrade
apt --assume-yes install build-essential sed git wget bash # 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 # # 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: DEB build MetricCollector # - name: DEB build MetricCollector
id: dpkg-build # id: dpkg-build
run: | # run: |
export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH # export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH
make DEB # make DEB