Commit 57d6912c9e for frr
commit 57d6912c9edf9cec16e1f44e762d275da7c4b6c2
Author: Minghan Chan <mhchann082@gmail.com>
Date: Wed Oct 21 11:03:35 2026 +0800
ci: install linux-modules-extra only when the kernel has one
Since 2026-10-20 the amd64 Test jobs fail before any topotest runs:
E: Unable to locate package linux-modules-extra-7.0.0-1017-azure
GitHub's runners have started booting the azure 7.0 kernel, both on
the ubuntu-24.04 image (7.0.0-1017.17~24.04.1) and on ubuntu-26.04,
which ubuntu-latest now resolves to. That kernel is packaged without
the linux-modules-extra split: vrf, mpls_router, mpls_iptunnel and
the other network modules are all in linux-modules-7.0.0-1017-azure.
26.04 also has no linux-modules-extra-azure metapackage.
Add the two extra packages only when apt knows the running kernel's
linux-modules-extra, so runners still on 6.17 install what they did
before.
Signed-off-by: Minghan Chan <mhchann082@gmail.com>
diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml
index c9de0c2c16..9c97197ec7 100644
--- a/.github/workflows/github-ci.yml
+++ b/.github/workflows/github-ci.yml
@@ -257,10 +257,17 @@ jobs:
# Retry loop for apt-get update in case of transient mirror failures
APT_RETRIES=3
for i in $(seq 1 ${APT_RETRIES}); do sudo apt-get update -y && break || sleep 10; done
+ # Some kernels (azure 7.0 on 24.04 and 26.04) have no
+ # linux-modules-extra package; vrf and mpls are in linux-modules.
+ MODPKGS="linux-modules-${MODPKGVER}"
+ if apt-cache show linux-modules-extra-${MODPKGVER} >/dev/null 2>&1; then
+ MODPKGS+=" linux-modules-extra-azure linux-modules-extra-${MODPKGVER}"
+ fi
+ echo "MODPKGS: ${MODPKGS}"
# Retry install as well; mirrors can fail between update and install.
install_ok=0
for i in $(seq 1 ${APT_RETRIES}); do
- sudo apt-get install -y linux-modules-extra-azure linux-modules-${MODPKGVER} linux-modules-extra-${MODPKGVER} python3-xmltodict && install_ok=1 && break || sleep 10
+ sudo apt-get install -y ${MODPKGS} python3-xmltodict && install_ok=1 && break || sleep 10
done
[ "${install_ok}" -eq 1 ] || { echo "ERROR: apt-get install failed after ${APT_RETRIES} attempts" >&2; exit 1; }
# Github is running old kernels but installing newer packages :(