From ab651bff8ec764d9949692e1b38723cfeba7a77f Mon Sep 17 00:00:00 2001 From: Nick Schuetz Date: Fri, 9 Oct 2026 00:06:54 -0500 Subject: [PATCH] ci: build-matrix dry-run on fedora-45, CI now covers all 8 chroot/arch pairs The registry.fedoraproject.org/fedora:45 container image is available ahead of the 2026-10-20 GA (Python 3.15.0rc3), so build.yml can exercise the two fedora-45 chroots that ADR 0013 added to COPR in August. CI and COPR now cover the same 8 pairs. Docs that described the 6-pair CI matrix (MAINTENANCE, UPGRADING, ARCHITECTURE diagram) updated to match. --- .github/workflows/build.yml | 8 ++++++++ docs/ARCHITECTURE.md | 2 +- docs/MAINTENANCE.md | 2 +- docs/UPGRADING.md | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9c6d90f..0b7e163 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -35,6 +35,14 @@ jobs: arch: aarch64 container: registry.fedoraproject.org/fedora:44 runner: ubuntu-24.04-arm + - distro: fedora-45 + arch: x86_64 + container: registry.fedoraproject.org/fedora:45 + runner: ubuntu-24.04 + - distro: fedora-45 + arch: aarch64 + container: registry.fedoraproject.org/fedora:45 + runner: ubuntu-24.04-arm - distro: fedora-rawhide arch: x86_64 container: registry.fedoraproject.org/fedora:rawhide diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 7301f0d..f132608 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -216,7 +216,7 @@ The dep graph is realized as the tier list in [`build-order.md`](build-order.md) │ │ up to 3 changed specs. │ │ │ │ │ │ workflow: build (per push/PR) │ - │ │ matrix-build dry-run on all 6 │ + │ │ matrix-build dry-run on all 8 │ │ │ chroot/arch pairs. │ │ │ │ │ │ workflow: smoke-test (per push/PR │ diff --git a/docs/MAINTENANCE.md b/docs/MAINTENANCE.md index ec680b6..17f7043 100644 --- a/docs/MAINTENANCE.md +++ b/docs/MAINTENANCE.md @@ -25,7 +25,7 @@ Reference for the scripts and CI workflows that keep `hellaenergy/ros2` healthy |---|---|---| | [`lint.yml`](../.github/workflows/lint.yml) | push, PR | rpmlint, license-check (legacy SPDX shortname rejection), forbidden-patterns (grep), verify-specs (full audit), sbom-validate (CycloneDX self-test). | | [`spec-dry-build.yml`](../.github/workflows/spec-dry-build.yml) | PR (only when specs/ changes) | For up to 3 changed specs: rpmspec parse, spectool fetch, rpmbuild SRPM, dnf builddep --assumeno against Fedora 44 + the changed distro's COPR (parsed from the spec path). Catches Source0 / BR breakage before the COPR build cycle. | -| [`build.yml`](../.github/workflows/build.yml) | push, PR | Matrix-build dry-run on 6 chroot/arch pairs (Fedora 44 + rawhide + Stream 10 × 2 arches). The COPR chroot matrix is 8 (Fedora 45 added per [ADR 0013](adr/0013-add-fedora-45-chroots.md)); Fedora 45 has no CI container image until it ships (GA 2026-10-20), so it is exercised on COPR only. | +| [`build.yml`](../.github/workflows/build.yml) | push, PR | Matrix-build dry-run on all 8 chroot/arch pairs (Fedora 44 + 45 + rawhide + Stream 10 × 2 arches), matching the COPR chroot matrix ([ADR 0013](adr/0013-add-fedora-45-chroots.md)). | | [`smoke-test.yml`](../.github/workflows/smoke-test.yml) | push, PR, daily 06:00 UTC | Installs `ros-base` + extras on a fresh Fedora 44 container and runs `scripts/smoke-test.sh -v`. | | [`drift-check.yml`](../.github/workflows/drift-check.yml) | weekly (Sunday 08:00 UTC), push to relevant paths | Runs `scripts/check-upstream.py`. Opens / updates a single sticky issue labeled `upstream-drift` when packages are behind; closes it with a "fully caught up" comment when drift returns to zero. | | [`upstream-issues.yml`](../.github/workflows/upstream-issues.yml) | nightly 08:00 UTC | Runs `scripts/check-upstream-issues.py`. Posts to a sticky issue labeled `upstream-tracker` when at least one tracked item has closed. | diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index b59d35b..277ac46 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -13,7 +13,7 @@ Gated by the readiness checklist tracked in the pinned GitHub issue (see `CLAUDE 1. Pin the [tracking issue](https://github.com/nickschuetz/ros2-rpm/issues) for the new distro. 2. When all checklist items hold, cut a `` branch in the repo. 3. Run the bloom-rpm pipeline against the new branch's manifest. -4. Validate in CI (6 chroot/arch pairs: Fedora 44 + rawhide + Stream 10 × 2 arches; see ADR 0010 for the post-pivot matrix). The COPR itself publishes to 8 chroot/arch pairs (Fedora 45 added per [ADR 0013](adr/0013-add-fedora-45-chroots.md)). +4. Validate in CI (8 chroot/arch pairs: Fedora 44 + 45 + rawhide + Stream 10 × 2 arches; ADR 0010 for the post-pivot matrix, [ADR 0013](adr/0013-add-fedora-45-chroots.md) for Fedora 45). CI and COPR now cover the same 8 pairs. 5. Add the new distro's chroots to the COPR (no chroot additions before CI is green). 6. Update README's "Supported targets" table. 7. Announce in the COPR project description.