From 8b8c0bb9d0145f5a1cffc240dcc337b2ad1f392b Mon Sep 17 00:00:00 2001 From: "bootc-bot[bot]" <225049296+bootc-bot[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 18:36:36 +0000 Subject: [PATCH 1/2] ci: Test only Fedora latest stable by default Reduce the CI matrix to test only fedora-45 (latest stable) instead of fedora-44, fedora-45, and fedora-46. This aligns with the Packit CI configuration which uses fedora-latest-stable for tier-1 testing. Changes: - Update package/integration/upgrade matrices to use only fedora-45 - Remove continue-on-error for fedora-46 (Rawhide) - Enable grub-cc tests on fedora-45 instead of fedora-44 - Remove temporary composefs exclusion for fedora-44 This reduces CI capacity usage, flakes, and noise while maintaining coverage on CentOS Stream 9 and 10. Generated-by: AI --- .github/workflows/ci.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 94601538e..96e239b75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -120,9 +120,9 @@ jobs: || [[ "$EVENT" == "pull_request" && "$MERGE_QUEUE_ENABLED" != "true" ]] \ || echo "$LABELS" | jq -e 'index("ci/merge")' > /dev/null; }; then # Full suite: all OSes - echo 'package_os_matrix=["fedora-44","fedora-45","fedora-46","centos-9","centos-10"]' >> "$GITHUB_OUTPUT" - echo 'integration_os_matrix=["fedora-44","centos-9","centos-10"]' >> "$GITHUB_OUTPUT" - echo 'upgrade_os_matrix=["fedora-44","centos-10"]' >> "$GITHUB_OUTPUT" + echo 'package_os_matrix=["fedora-45","centos-9","centos-10"]' >> "$GITHUB_OUTPUT" + echo 'integration_os_matrix=["fedora-45","centos-9","centos-10"]' >> "$GITHUB_OUTPUT" + echo 'upgrade_os_matrix=["fedora-45","centos-10"]' >> "$GITHUB_OUTPUT" echo 'run_heavy=true' >> "$GITHUB_OUTPUT" elif [[ "$DOCS_ONLY" != "true" ]] && echo "$LABELS" | jq -e 'index("ci/tier-1")' > /dev/null; then # Tier-1 only: centos-10 @@ -255,8 +255,6 @@ jobs: test_os: ${{ fromJson(needs.compute-ci-level.outputs.package_os_matrix) }} runs-on: ubuntu-26.04 - # Rawhide is best-effort; don't let it block merges - continue-on-error: ${{ matrix.test_os == 'fedora-46' }} steps: - uses: actions/checkout@v7 @@ -335,9 +333,7 @@ jobs: - variant: ostree bootloader: systemd - # For now only have grub-cc tests in F44 - - test_os: fedora-45 - bootloader: grub-cc + # For now only have grub-cc tests in Fedora latest stable - test_os: centos-9 bootloader: grub-cc - test_os: centos-10 @@ -445,10 +441,6 @@ jobs: matrix: test_os: ${{ fromJson(needs.compute-ci-level.outputs.upgrade_os_matrix) }} variant: [ostree, composefs] - # TODO: Re-enable this after 1.16.8 is released - exclude: - - test_os: fedora-44 - variant: composefs runs-on: ubuntu-26.04 From f9e714f339f1ee66cd962600bcf93444318f94cf Mon Sep 17 00:00:00 2001 From: "bootc-bot[bot]" <225049296+bootc-bot[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 18:59:07 +0000 Subject: [PATCH 2/2] ci: Discover Fedora version dynamically from container registry Instead of hardcoding fedora-45 in the CI matrices, dynamically discover the Fedora latest stable version using skopeo inspect on quay.io/fedora/fedora:latest. This addresses review feedback to use the same discovery approach as Packit CI. Changes: - Add 'Discover Operating System bases' step that queries the Fedora latest container image label to get the current stable version - Inject the discovered version into the OS matrices dynamically - Emit a warning if the discovered version diverges from expected (45) - Update grub-cc exclusion comment to reflect dynamic discovery This ensures CI automatically tracks Fedora latest stable without requiring manual updates to the workflow when new Fedora versions are released. Generated-by: AI --- .github/workflows/ci.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96e239b75..11c0160cf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,6 +108,20 @@ jobs: echo "enabled=false" >> "$GITHUB_OUTPUT" fi + - name: Discover Operating System bases + id: os-discovery + run: | + set -euo pipefail + # Discover Fedora latest stable version dynamically + fedora_latest=$(skopeo inspect --no-tags docker://quay.io/fedora/fedora:latest | \ + jq -r '.Labels."org.opencontainers.image.version"') + echo "fedora_latest=fedora-${fedora_latest}" >> "$GITHUB_OUTPUT" + + # Emit a warning if the discovered version diverges from expectations + if [[ "fedora-${fedora_latest}" != "fedora-45" ]]; then + echo "::warning::Fedora latest is now ${fedora_latest}, but CI is expecting 45. Update CI configuration." + fi + - name: Compute OS matrices id: matrix run: | @@ -115,14 +129,15 @@ jobs: EVENT='${{ github.event_name }}' MERGE_QUEUE_ENABLED='${{ steps.merge-queue.outputs.enabled }}' DOCS_ONLY='${{ steps.docs-check.outputs.docs_only }}' + FEDORA_LATEST='${{ steps.os-discovery.outputs.fedora_latest }}' if [[ "$DOCS_ONLY" != "true" ]] && { [[ "$EVENT" == "merge_group" || "$EVENT" == "workflow_dispatch" ]] \ || [[ "$EVENT" == "pull_request" && "$MERGE_QUEUE_ENABLED" != "true" ]] \ || echo "$LABELS" | jq -e 'index("ci/merge")' > /dev/null; }; then # Full suite: all OSes - echo 'package_os_matrix=["fedora-45","centos-9","centos-10"]' >> "$GITHUB_OUTPUT" - echo 'integration_os_matrix=["fedora-45","centos-9","centos-10"]' >> "$GITHUB_OUTPUT" - echo 'upgrade_os_matrix=["fedora-45","centos-10"]' >> "$GITHUB_OUTPUT" + echo "package_os_matrix=[\"${FEDORA_LATEST}\",\"centos-9\",\"centos-10\"]" >> "$GITHUB_OUTPUT" + echo "integration_os_matrix=[\"${FEDORA_LATEST}\",\"centos-9\",\"centos-10\"]" >> "$GITHUB_OUTPUT" + echo "upgrade_os_matrix=[\"${FEDORA_LATEST}\",\"centos-10\"]" >> "$GITHUB_OUTPUT" echo 'run_heavy=true' >> "$GITHUB_OUTPUT" elif [[ "$DOCS_ONLY" != "true" ]] && echo "$LABELS" | jq -e 'index("ci/tier-1")' > /dev/null; then # Tier-1 only: centos-10 @@ -333,7 +348,7 @@ jobs: - variant: ostree bootloader: systemd - # For now only have grub-cc tests in Fedora latest stable + # For now only have grub-cc tests in Fedora (latest stable, discovered dynamically) - test_os: centos-9 bootloader: grub-cc - test_os: centos-10