From 850315e86ca723f70196ce2cca5e8e049654cfde Mon Sep 17 00:00:00 2001 From: Stefan Popp Date: Fri, 23 Oct 2026 17:12:57 +0200 Subject: [PATCH] Test the repository set-up on Rocky Linux and AlmaLinux 9 and 10 The repository test installs azentrius-repository from the signed test repository on Rocky Linux and AlmaLinux 9 and 10 as well as on Fedora 43. Each RPM system imports the repository's real key first, as the README's set-up does. --- .github/workflows/test.yml | 31 ++++++++++++++++++++----------- README.md | 6 ++++-- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f9133da..ceb7b57 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,8 +35,10 @@ jobs: rm -rf dist && make packages > /dev/null (cd dist && sha256sum -c ../first.sha256) # The server tool builds a real APT and RPM repository from the packages, signed with a - # throwaway key; Debian and Fedora then install azentrius-repository from it. - - name: Repository end to end (signed APT and RPM repository, installs on Debian and Fedora) + # throwaway key; Debian, Fedora and the RHEL rebuilds Rocky Linux and AlmaLinux (9 and 10) + # then install azentrius-repository from it. Each RPM system first imports the repository's + # real key, as the README's set-up does, so a key its rpm refuses shows here. + - name: Repository end to end (signed APT and RPM repository, installs on Debian, Fedora, Rocky and Alma) run: | export GNUPGHOME="$RUNNER_TEMP/gnupg" AZPKG_ROOT="$RUNNER_TEMP/repo" AZPKG_STATE="$RUNNER_TEMP/state" mkdir -m 700 "$GNUPGHOME" @@ -56,12 +58,19 @@ jobs: grep -q "URIs: https://packages.azentrius.com/apt" /etc/apt/sources.list.d/azentrius.sources apt-get remove -y -qq azentrius-repository > /dev/null test ! -e /etc/apt/sources.list.d/azentrius.sources' - docker run --rm -v "$AZPKG_ROOT:/repo:ro" fedora:43 sh -ec ' - rpm --import /repo/test.asc - printf "[test]\nname=test\nbaseurl=file:///repo/rpm\ngpgcheck=1\n" > /etc/yum.repos.d/test.repo - dnf install -y -q azentrius-repository - rpm -K /repo/rpm/azentrius-repository-*.rpm | grep -q "digests signatures OK" - test -f /usr/share/swcatalog/xml/azentrius.xml - grep -q "baseurl=https://packages.azentrius.com/rpm" /etc/yum.repos.d/azentrius.repo - dnf remove -y -q azentrius-repository - test ! -e /etc/yum.repos.d/azentrius.repo' + for image in fedora:43 rockylinux/rockylinux:9 rockylinux/rockylinux:10 almalinux:9 almalinux:10; do + echo "::group::$image" + docker run --rm -v "$AZPKG_ROOT:/repo:ro" -v "$PWD/repository/azentrius.asc:/azentrius.asc:ro" "$image" sh -ec ' + . /etc/os-release + echo "$PRETTY_NAME, $(rpm --version)" + rpm --import /azentrius.asc + rpm --import /repo/test.asc + printf "[test]\nname=test\nbaseurl=file:///repo/rpm\ngpgcheck=1\n" > /etc/yum.repos.d/test.repo + dnf install -y -q azentrius-repository + rpm -K /repo/rpm/azentrius-repository-*.rpm | grep -q "digests signatures OK" + test -f /usr/share/swcatalog/xml/azentrius.xml + grep -q "baseurl=https://packages.azentrius.com/rpm" /etc/yum.repos.d/azentrius.repo + dnf remove -y -q azentrius-repository + test ! -e /etc/yum.repos.d/azentrius.repo' + echo "::endgroup::" + done diff --git a/README.md b/README.md index edc1730..0505a80 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,8 @@ sudo rpm --import https://packages.azentrius.com/azentrius.asc sudo dnf install https://packages.azentrius.com/azentrius-repository.rpm ``` -RHEL and its derivatives use the same dnf set-up, but only Fedora is tested. openSUSE is not served +RHEL and its derivatives use the same dnf set-up; it is tested on Fedora and on the rebuilds Rocky +Linux and AlmaLinux 9 and 10, not on RHEL itself. openSUSE is not served (`azentrius-repository` sets up only apt and dnf): there, install the `.rpm` from the add-on's GitHub release after checking it with the release's `SHA256SUMS` and `gh attestation verify`. @@ -113,7 +114,8 @@ make packages # dist/azentrius-repository_X.Y.Z-1_all.deb and -X.Y.Z-1.noa ``` The `test` workflow also builds a signed APT and RPM repository with a throwaway key through the -server tool and installs `azentrius-repository` from it on Debian 13 and Fedora 43. +server tool and installs `azentrius-repository` from it on Debian 13, Fedora 43, Rocky Linux 9 and +10 and AlmaLinux 9 and 10; the RPM systems import the repository's real key first. `tools/build-packages.sh` is the same file in every Azentrius add-on. Releases: raise `VERSION`, add a section to `CHANGELOG.md`, merge, then Actions › release › Run