From ec8f2b71bc50c8966501d2e0591b6d6bc90c4657 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Fri, 14 Aug 2026 20:08:06 +0200 Subject: [PATCH 1/3] group ezbake builds based on legacy/modern OS ezbake 4 uses a proper systemd setup with Type=notify-reload, but that requires systemd 253 (https://github.com/systemd/systemd/releases/tag/v253). For older OSes, we need to stick to ezbake 2. We don't talk about ezbake 3. new enough distros: ``` [root@ ~]# dnf info systemd | awk -F: '/Version/ {print $2}' 257 [root@ ~]# . /etc/os-release && echo $PRETTY_NAME Rocky Linux 10.2 (Red Quartz) [root@ ~]# ``` ``` root@:~# dpkg-query -W -f='${Version}\n' systemd 259.5-0ubuntu3.4 root@:~# . /etc/os-release && echo $PRETTY_NAME Ubuntu 26.04 LTS root@:~# ``` ``` root@:~# dpkg-query -W -f='${Version}\n' systemd 255.4-1ubuntu8.17 root@:~# . /etc/os-release && echo $PRETTY_NAME Ubuntu 24.04.4 LTS root@:~# ``` ``` root@:~# dpkg-query -W -f='${Version}\n' systemd 257.13-1~deb13u1 root@:~# . /etc/os-release && echo $PRETTY_NAME Debian GNU/Linux 13 (trixie) root@:~# ``` ``` :~ # rpm -q --qf '%{VERSION}-%{RELEASE}\n' systemd 257.13-160000.3.1 :~ # . /etc/os-release && echo $PRETTY_NAME openSUSE Leap 16.0 :~ # ``` ``` [root@ab39cabf7c08 /]# dnf update -qq Nothing to do. [root@ab39cabf7c08 /]# dnf repoquery --latest-limit=1 --qf '%{evr}\n' systemd.x86_64 Updating and loading repositories: Repositories loaded. 261.2-1.fc45 [root@ab39cabf7c08 /]# . /etc/os-release && echo $PRETTY_NAME Fedora Linux 45 (Container Image Prerelease) [root@ab39cabf7c08 /]# ``` ``` [root@c2b641037f08 /]# dnf update -qq Nothing to do. [root@c2b641037f08 /]# dnf repoquery --latest-limit=1 --qf '%{evr}\n' systemd.x86_64 Updating and loading repositories: Repositories loaded. 259.8-1.fc44 [root@c2b641037f08 /]# . /etc/os-release && echo $PRETTY_NAME Fedora Linux 44 (Container Image) [root@c2b641037f08 /]# ``` ``` [root@7efb7c6d6f19 /]# dnf update -qq Nothing to do. [root@7efb7c6d6f19 /]# dnf repoquery --latest-limit=1 --qf '%{evr}\n' systemd.x86_64 Updating and loading repositories: Repositories loaded. 258.10-1.fc43 [root@7efb7c6d6f19 /]# . /etc/os-release && echo $PRETTY_NAME Fedora Linux 43 (Container Image) [root@7efb7c6d6f19 /]# ``` too old: ``` [root@ ~]# dnf update --quiet; dnf info --installed systemd | awk -F: '/Version/ {print $2}' 252 [root@ ~]# . /etc/os-release && echo $PRETTY_NAME Rocky Linux 9.8 (Blue Onyx) [root@ ~]# ``` ``` root@:~# dpkg-query -W -f='${Version}\n' systemd 249.11-0ubuntu3.22 root@:~# . /etc/os-release && echo $PRETTY_NAME Ubuntu 22.04.5 LTS root@:~# ``` ``` 95e17cdb5eb8:/ # zypper search -s --match-exact systemd Refreshing service 'container-suseconnect-zypp'. Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository ---+---------+---------+----------------------+--------+----------- | systemd | package | 249.17-150400.8.49.2 | x86_64 | SLE_BCI 95e17cdb5eb8:/ # . /etc/os-release && echo $PRETTY_NAME SUSE Linux Enterprise Server 15 SP5 95e17cdb5eb8:/ # ``` ``` bash-5.2# dnf repoquery --latest-limit=1 --qf '%{evr}' systemd.x86_64 Last metadata expiration check: 0:00:27 ago on Sat Aug 15 10:24:53 2026. 252.23-12.amzn2023 bash-5.2# . /etc/os-release && echo $PRETTY_NAME Amazon Linux 2023.12.20260803 bash-5.2# ``` Signed-off-by: Tim Meusel --- .github/workflows/build_ezbake.yml | 126 +++++++++++++++++++++--- .github/workflows/build_ezbake_fips.yml | 22 +++-- platforms.json | 28 ++++-- scripts/project-config.sh | 14 ++- 4 files changed, 152 insertions(+), 38 deletions(-) diff --git a/.github/workflows/build_ezbake.yml b/.github/workflows/build_ezbake.yml index e147e07..f1f86f7 100644 --- a/.github/workflows/build_ezbake.yml +++ b/.github/workflows/build_ezbake.yml @@ -20,8 +20,12 @@ on: Branch/tag from ezbake that will be used for openvoxdb/server builds. type: string required: false - ezbake-ver: - description: 'The version specified in project.clj in the given ezbake-ref. Will default to the version found in project.clj in the repo if not specified.' + ezbake-2-ver: + description: 'Version for the ezbake 2 build group used for older OSes.' + type: string + required: false + ezbake-4-ver: + description: 'Version for the ezbake 4 build group used for newer OSes.' type: string required: false branch: @@ -38,17 +42,15 @@ env: # https://github.com/boto/boto3/issues/4398#issuecomment-2619946229 AWS_REQUEST_CHECKSUM_CALCULATION: "WHEN_REQUIRED" AWS_RESPONSE_CHECKSUM_VALIDATION: "WHEN_REQUIRED" - EZBAKE_BRANCH: ${{ inputs.ezbake-ref }} jobs: - build: + build-ezbake-2: + name: ezbake 2 build for legacy OSes runs-on: ubuntu-24.04 timeout-minutes: 600 strategy: fail-fast: false steps: - # This checks out the release branch, because the vox:build task will - # check out the tag itself. - name: Checkout code uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -58,19 +60,30 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: OpenVoxProject/shared-actions - ref: main + ref: ezbake4 # switch to main before merge! path: .shared-actions sparse-checkout: platforms.json sparse-checkout-cone-mode: false - - name: Resolve platform lists + - name: Resolve platform lists for ezbake 2 env: DEB_PLATFORMS: ${{ inputs.deb_platform_list }} RPM_PLATFORMS: ${{ inputs.rpm_platform_list }} BRANCH: ${{ inputs.branch }} + EZBAKE_2_VER: ${{ inputs.ezbake-2-ver }} run: | - echo "DEB_PLATFORMS=${DEB_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake-deb" | join(",")' .shared-actions/platforms.json)}" >> $GITHUB_ENV - echo "RPM_PLATFORMS=${RPM_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake-rpm" | join(",")' .shared-actions/platforms.json)}" >> $GITHUB_ENV + EZBAKE_2_VER="${EZBAKE_2_VER:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake2-version"' .shared-actions/platforms.json)}" + + echo "EZBAKE_BRANCH=${{ inputs.ezbake-ref }}" >> $GITHUB_ENV + echo "EZBAKE_VERSION=${EZBAKE_2_VER}" >> $GITHUB_ENV + DEB_PLATFORMS="${DEB_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake2-deb" | join(",")' .shared-actions/platforms.json)}" + echo "DEB_PLATFORMS=$DEB_PLATFORMS" >> $GITHUB_ENV + RPM_PLATFORMS="${RPM_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake2-rpm" | join(",")' .shared-actions/platforms.json)}" + echo "RPM_PLATFORMS=$RPM_PLATFORMS" >> $GITHUB_ENV + + echo "::notice title=ezbake 2 EZBAKE_BRANCH::${{ inputs.ezbake-ref }}" + echo "::notice title=ezbake 2 EZBAKE_VERSION::$EZBAKE_2_VER" + echo "::notice title=ezbake 2 PLATFORMS::$DEB_PLATFORMS,$RPM_PLATFORMS" - name: Install Ruby uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0 @@ -82,7 +95,7 @@ jobs: uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: /tmp/ezbake-builder.tar - key: docker-ezbake-${{ hashFiles('Dockerfile') }} + key: docker-ezbake-${{ hashFiles('Dockerfile') }}-legacy - name: Load or build Docker image run: | @@ -97,17 +110,98 @@ jobs: if: always() && steps.docker-cache.outputs.cache-hit != 'true' with: path: /tmp/ezbake-builder.tar - key: docker-ezbake-${{ hashFiles('Dockerfile') }} + key: docker-ezbake-${{ hashFiles('Dockerfile') }}-legacy - name: Update awscli run: | python -m pip install --upgrade awscli - - name: Set EZBAKE_VERSION if provided - if: ${{ inputs.ezbake-ver != '' }} + - name: Run build script + env: + BUILD_REF: ${{ inputs.ref }} + run: | + rm -rf output + bundle exec rake "vox:build[${BUILD_REF}]" + + - name: Configure OSUOSL CA Certificate for S3 + uses: $/.github/actions/setup-osuosl-ca + + - name: Upload output to S3 + run: | + bundle exec rake vox:upload + + build-ezbake-4: + name: ezbake 4 build for modern OSes + runs-on: ubuntu-24.04 + timeout-minutes: 600 + strategy: + fail-fast: false + steps: + - name: Checkout code + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + ref: ${{ inputs.branch }} + + - name: Checkout platform config + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + repository: OpenVoxProject/shared-actions + ref: ezbake4 # switch to main before merge! + path: .shared-actions + sparse-checkout: platforms.json + sparse-checkout-cone-mode: false + + - name: Resolve platform lists for ezbake 4 env: - EZBAKE_VER: ${{ inputs.ezbake-ver }} - run: echo "EZBAKE_VERSION=${EZBAKE_VER}" >> $GITHUB_ENV + DEB_PLATFORMS: ${{ inputs.deb_platform_list }} + RPM_PLATFORMS: ${{ inputs.rpm_platform_list }} + BRANCH: ${{ inputs.branch }} + EZBAKE_4_VER: ${{ inputs.ezbake-4-ver }} + run: | + EZBAKE_4_VER="${EZBAKE_4_VER:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake4-version"' .shared-actions/platforms.json)}" + + echo "EZBAKE_BRANCH=${{ inputs.ezbake-ref }}" >> $GITHUB_ENV + echo "EZBAKE_VERSION=${EZBAKE_4_VER}" >> $GITHUB_ENV + DEB_PLATFORMS="${DEB_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake4-deb" | join(",")' .shared-actions/platforms.json)}" + echo "DEB_PLATFORMS=$DEB_PLATFORMS" >> $GITHUB_ENV + RPM_PLATFORMS="${RPM_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake4-rpm" | join(",")' .shared-actions/platforms.json)}" + echo "RPM_PLATFORMS=$RPM_PLATFORMS" >> $GITHUB_ENV + + echo "::notice title=ezbake 4 EZBAKE_BRANCH::${{ inputs.ezbake-ref }}" + echo "::notice title=ezbake 4 EZBAKE_VERSION::$EZBAKE_4_VER" + echo "::notice title=ezbake 4 PLATFORMS::$DEB_PLATFORMS,$RPM_PLATFORMS" + + - name: Install Ruby + uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0 + with: + ruby-version: '4.0' + bundler-cache: true + + # we need to cache the container per-ezbake version because ezbake is checked out inside of that container + - id: docker-cache + uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + with: + path: /tmp/ezbake-builder.tar + key: docker-ezbake-${{ hashFiles('Dockerfile') }}-modern + + - name: Load or build Docker image + run: | + if [[ -f /tmp/ezbake-builder.tar ]]; then + docker load -i /tmp/ezbake-builder.tar + else + docker build -t ezbake-builder . + docker save ezbake-builder -o /tmp/ezbake-builder.tar + fi + + - uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + if: always() && steps.docker-cache.outputs.cache-hit != 'true' + with: + path: /tmp/ezbake-builder.tar + key: docker-ezbake-${{ hashFiles('Dockerfile') }}-modern + + - name: Update awscli + run: | + python -m pip install --upgrade awscli - name: Run build script env: diff --git a/.github/workflows/build_ezbake_fips.yml b/.github/workflows/build_ezbake_fips.yml index 23a8b42..eb750dd 100644 --- a/.github/workflows/build_ezbake_fips.yml +++ b/.github/workflows/build_ezbake_fips.yml @@ -16,10 +16,16 @@ on: description: 'Branch/tag from ezbake that will be used for openvoxdb/server builds.' type: string required: false - ezbake-ver: - description: 'The version specified in project.clj in the given ezbake-ref. Will default to the version found in project.clj in the repo if not specified.' + ezbake-2-ver: + description: 'Version for the ezbake 2 build group used for older OSes.' type: string required: false + default: '2.9.1' + ezbake-4-ver: + description: 'Version for the ezbake 4 build group used for newer OSes.' + type: string + required: false + default: '4.0.0' branch: description: 'Release branch being built. Used for repo checkout and default platform list.' type: string @@ -55,7 +61,7 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: OpenVoxProject/shared-actions - ref: main + ref: ezbake4 path: .shared-actions sparse-checkout: platforms.json sparse-checkout-cone-mode: false @@ -65,6 +71,10 @@ jobs: RPM_PLATFORMS: ${{ inputs.rpm_platform_list }} BRANCH: ${{ inputs.branch }} run: | + EZBAKE_2_VER="${{ inputs.ezbake-2-ver }}" + EZBAKE_4_VER="${{ inputs.ezbake-4-ver }}" + echo "EZBAKE_BRANCH=${{ inputs.ezbake-ref }}" >> $GITHUB_ENV + echo "EZBAKE_VERSION=${EZBAKE_2_VER}" >> $GITHUB_ENV echo "RPM_PLATFORMS=${RPM_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake-fips-rpm" | join(",")' .shared-actions/platforms.json)}" >> $GITHUB_ENV - name: Install Ruby @@ -98,12 +108,6 @@ jobs: run: | python -m pip install --upgrade awscli - - name: Set EZBAKE_VERSION if provided - if: ${{ inputs.ezbake-ver != '' }} - env: - EZBAKE_VER: ${{ inputs.ezbake-ver }} - run: echo "EZBAKE_VERSION=${EZBAKE_VER}" >> $GITHUB_ENV - - name: Run build script env: BUILD_REF: ${{ inputs.ref }} diff --git a/platforms.json b/platforms.json index c4f6418..da95c89 100644 --- a/platforms.json +++ b/platforms.json @@ -1,5 +1,7 @@ { "main": { + "ezbake2-version": "2.9.1", + "ezbake4-version": "4.0.0", "vanagon": [ "amazon-2023-aarch64", "amazon-2023-x86_64", @@ -35,20 +37,24 @@ "ubuntu-26.04-armhf", "windows-msys2-x64" ], - "ezbake-deb": [ - "ubuntu-22.04", - "ubuntu-24.04", - "ubuntu-26.04", - "debian-13" + "ezbake2-deb": [ + "ubuntu-22.04" ], - "ezbake-rpm": [ + "ezbake2-rpm": [ "amazon-2023", "el-8", "el-9", + "sles-15" + ], + "ezbake4-deb": [ + "ubuntu-24.04", + "ubuntu-26.04", + "debian-13" + ], + "ezbake4-rpm": [ "el-10", "fedora-43", "fedora-44", - "sles-15", "sles-16" ], "ezbake-fips-rpm": [ @@ -57,6 +63,8 @@ ] }, "8.x": { + "ezbake2-version": "2.9.1", + "ezbake4-version": "4.0.0", "vanagon": [ "amazon-2-aarch64", "amazon-2-x86_64", @@ -102,16 +110,16 @@ "ubuntu-26.04-armhf", "windows-all-x64" ], - "ezbake-deb": [ + "ezbake2-deb": [ "ubuntu-22.04", "ubuntu-24.04", "ubuntu-25.04", - "ubuntu-26.04", "debian-11", "debian-12", + "ubuntu-26.04", "debian-13" ], - "ezbake-rpm": [ + "ezbake2-rpm": [ "amazon-2", "amazon-2023", "el-8", diff --git a/scripts/project-config.sh b/scripts/project-config.sh index d93f3d4..4482bf4 100755 --- a/scripts/project-config.sh +++ b/scripts/project-config.sh @@ -78,18 +78,26 @@ map_platforms=' intersect='. as $uni | $uni | map(select(. as $u | ($set | any(. == $u))))' # Which build list gates this suite: the agent (vanagon) list for the agent -# suites, or the combined server/db (ezbake) list otherwise. +# suites, or the combined server/db (ezbake) list otherwise. The platform file +# uses both the legacy ezbake2 keys and the current ezbake4 keys depending on +# the branch, so we must accept both shapes instead of assuming one stale name. case "$suite" in openvox|openvox-agent) build_list=$(jq -c --arg b "$branch" '.[$b].vanagon' "$platforms") ;; openvox-server|openvoxdb) - build_list=$(jq -c --arg b "$branch" '(.[$b]["ezbake-deb"] + .[$b]["ezbake-rpm"])' "$platforms") ;; + build_list=$(jq -c --arg b "$branch" ' + (.[$b]["ezbake4-deb"] // [] + .[$b]["ezbake4-rpm"] // [] + + .[$b]["ezbake2-deb"] // [] + .[$b]["ezbake2-rpm"] // []) + ' "$platforms") ;; *) echo "Unknown suite '$suite'" >&2; exit 1 ;; esac # The server/db build list is always needed to decide when a fall back is needed # to test an agent platform that does not have a corresponding server build. -server_list=$(jq -c --arg b "$branch" '(.[$b]["ezbake-deb"] + .[$b]["ezbake-rpm"])' "$platforms") +server_list=$(jq -c --arg b "$branch" ' + (.[$b]["ezbake4-deb"] // [] + .[$b]["ezbake4-rpm"] // [] + + .[$b]["ezbake2-deb"] // [] + .[$b]["ezbake2-rpm"] // []) +' "$platforms") # Translate platforms.json OS names to nested_vms tuples. build_os=$(jq -c "$map_platforms" <<<"$build_list") From 029dfec4438d9efcd51482233d0d3af4cd22dfa2 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Sat, 15 Aug 2026 17:34:55 +0200 Subject: [PATCH 2/3] Update Ubuntu 24.04 -> 26.04 Signed-off-by: Tim Meusel --- .github/workflows/build_ezbake.yml | 11 +++++----- .github/workflows/build_ezbake_fips.yml | 29 ++++++++++++------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build_ezbake.yml b/.github/workflows/build_ezbake.yml index f1f86f7..306746d 100644 --- a/.github/workflows/build_ezbake.yml +++ b/.github/workflows/build_ezbake.yml @@ -45,8 +45,8 @@ env: jobs: build-ezbake-2: - name: ezbake 2 build for legacy OSes - runs-on: ubuntu-24.04 + name: ezbake 2.x build for legacy OSes + runs-on: ubuntu-26.04 timeout-minutes: 600 strategy: fail-fast: false @@ -95,7 +95,7 @@ jobs: uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: /tmp/ezbake-builder.tar - key: docker-ezbake-${{ hashFiles('Dockerfile') }}-legacy + key: docker-ezbake-${{ hashFiles('Dockerfile') }}-legacy # same key as in the fips workflow - name: Load or build Docker image run: | @@ -131,8 +131,9 @@ jobs: bundle exec rake vox:upload build-ezbake-4: - name: ezbake 4 build for modern OSes - runs-on: ubuntu-24.04 + name: ezbake 4.x build for modern OSes + runs-on: ubuntu-26.04 + if: inputs.branch == 'main' timeout-minutes: 600 strategy: fail-fast: false diff --git a/.github/workflows/build_ezbake_fips.yml b/.github/workflows/build_ezbake_fips.yml index eb750dd..bb10078 100644 --- a/.github/workflows/build_ezbake_fips.yml +++ b/.github/workflows/build_ezbake_fips.yml @@ -16,16 +16,10 @@ on: description: 'Branch/tag from ezbake that will be used for openvoxdb/server builds.' type: string required: false - ezbake-2-ver: + ezbake-ver: description: 'Version for the ezbake 2 build group used for older OSes.' type: string required: false - default: '2.9.1' - ezbake-4-ver: - description: 'Version for the ezbake 4 build group used for newer OSes.' - type: string - required: false - default: '4.0.0' branch: description: 'Release branch being built. Used for repo checkout and default platform list.' type: string @@ -45,7 +39,7 @@ env: jobs: build: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 timeout-minutes: 600 strategy: fail-fast: false @@ -61,7 +55,7 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: OpenVoxProject/shared-actions - ref: ezbake4 + ref: ezbake4 # rename to main before merge path: .shared-actions sparse-checkout: platforms.json sparse-checkout-cone-mode: false @@ -71,11 +65,16 @@ jobs: RPM_PLATFORMS: ${{ inputs.rpm_platform_list }} BRANCH: ${{ inputs.branch }} run: | - EZBAKE_2_VER="${{ inputs.ezbake-2-ver }}" - EZBAKE_4_VER="${{ inputs.ezbake-4-ver }}" + EZBAKE_VERSION="${EZBAKE_VER:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake2-version"' .shared-actions/platforms.json)}" + echo "EZBAKE_BRANCH=${{ inputs.ezbake-ref }}" >> $GITHUB_ENV - echo "EZBAKE_VERSION=${EZBAKE_2_VER}" >> $GITHUB_ENV - echo "RPM_PLATFORMS=${RPM_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake-fips-rpm" | join(",")' .shared-actions/platforms.json)}" >> $GITHUB_ENV + echo "EZBAKE_VERSION=${EZBAKE_VERSION}" >> $GITHUB_ENV + RPM_PLATFORMS="${RPM_PLATFORMS:-$(jq -r --arg branch "${BRANCH}" '.[$branch]."ezbake-fips-rpm" | join(",")' .shared-actions/platforms.json)}" + echo "RPM_PLATFORMS=$RPM_PLATFORMS" >> $GITHUB_ENV + + echo "::notice title=ezbake 2 EZBAKE_BRANCH::${{ inputs.ezbake-ref }}" + echo "::notice title=ezbake 2 EZBAKE_VERSION::$EZBAKE_VERSION" + echo "::notice title=ezbake 2 PLATFORMS::$RPM_PLATFORMS" - name: Install Ruby uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0 @@ -87,7 +86,7 @@ jobs: uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: /tmp/ezbake-builder.tar - key: docker-ezbake-${{ hashFiles('Dockerfile') }} + key: docker-ezbake-${{ hashFiles('Dockerfile') }}-legacy # same key as in non-fips ezbake 2 - name: Load or build Docker image run: | @@ -102,7 +101,7 @@ jobs: if: always() && steps.docker-cache.outputs.cache-hit != 'true' with: path: /tmp/ezbake-builder.tar - key: docker-ezbake-${{ hashFiles('Dockerfile') }} + key: docker-ezbake-${{ hashFiles('Dockerfile') }}-legacy - name: Update awscli run: | From cc36266c9e0868fa44939eb280c77eab06040ae5 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Tue, 18 Aug 2026 13:41:05 +0200 Subject: [PATCH 3/3] Add post-suite support Signed-off-by: Tim Meusel --- .github/workflows/beaker_acceptance.yml | 4 ++++ scripts/project_defaults.json | 3 +++ 2 files changed, 7 insertions(+) diff --git a/.github/workflows/beaker_acceptance.yml b/.github/workflows/beaker_acceptance.yml index a18f9c8..252a2ee 100644 --- a/.github/workflows/beaker_acceptance.yml +++ b/.github/workflows/beaker_acceptance.yml @@ -121,6 +121,7 @@ jobs: acceptance-working-dir: ${{ steps.set-defaults.outputs.acceptance_working_dir }} acceptance-pre-suite: ${{ steps.set-defaults.outputs.acceptance_pre_suite }} acceptance-tests: ${{ steps.set-defaults.outputs.acceptance_tests }} + acceptance-post-suite: ${{ steps.set-defaults.outputs.acceptance_post_suite }} beaker-options: ${{ steps.set-defaults.outputs.beaker_options }} steps: - name: Checkout platform config @@ -353,6 +354,8 @@ jobs: ${{ needs.set-project-defaults.outputs.acceptance-pre-suite || '[]' }} TESTS_ARRAY: |- ${{ needs.set-project-defaults.outputs.acceptance-tests || '[]' }} + POST_SUITE_ARRAY: |- + ${{ needs.set-project-defaults.outputs.acceptance-post-suite || '[]' }} TAGS: ${{ matrix.tags && toJson(matrix.tags) || '[]' }} BEAKER_OPTIONS: |- ${{ needs.set-project-defaults.outputs.beaker-options || '{}' }} @@ -375,6 +378,7 @@ jobs: "type": "aio", "pre_suite": ${PRE_SUITE_ARRAY}, "tests": ${TESTS_ARRAY}, + "post_suite": ${POST_SUITE_ARRAY}, "test_tag_and": ${TAGS} }, ${BEAKER_OPTIONS} diff --git a/scripts/project_defaults.json b/scripts/project_defaults.json index a128851..95cd060 100644 --- a/scripts/project_defaults.json +++ b/scripts/project_defaults.json @@ -11,6 +11,9 @@ "acceptance-tests": [ "tests" ], + "acceptance-post-suite": [ + "teardown/common/099_Archive_Logs.rb" + ], "acceptance-shard-tags": [ "shard:group1", "shard:group2",