From f817483e4e5ef4e308232af4d68f0987cd7ffb29 Mon Sep 17 00:00:00 2001 From: Mike Solar Date: Thu, 24 Sep 2026 17:48:23 +0800 Subject: [PATCH] ci/cd: move Fedora to 43 and speed up its dnf installs Fedora 41 is EOL, so its mirrors moved to the slow archive: the first dnf transaction took ~7 minutes in the last CD run. Use the current fedora:43 image (all dependency names verified against F41 and F43) and skip weak dependencies / download in parallel in both dnf calls. --- .github/workflows/cd.yml | 12 ++++++++---- .github/workflows/ci.yml | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 5cdf5fcc9..6f37de263 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -10,7 +10,7 @@ permissions: contents: write # One matrix, seven platforms, the same environments CI tests in (see -# .github/workflows/ci.yml): Debian 12 / Fedora 41 / Arch / openKylin x64 +# .github/workflows/ci.yml): Debian 12 / Fedora 43 / Arch / openKylin x64 # and arm64 containers plus the macOS and Windows hosts. Every package is # built from scratch — no vcpkg/cargo caches: a restored vcpkg_installed # or target tree has masked packaging problems before (stale ports, @@ -44,7 +44,7 @@ jobs: runner: warp-ubuntu-latest-x64-32x triplet: x64-linux artifact: linux-fedora - container: '{"image":"fedora:41","options":"--shm-size=8g"}' + container: '{"image":"fedora:43","options":"--shm-size=8g"}' - name: Arch platform: linux distro: arch @@ -95,7 +95,7 @@ jobs: shell: bash run: | case "${{ matrix.distro }}" in - fedora) dnf install -y git curl wget which ;; + fedora) dnf install -y --setopt=install_weak_deps=False --setopt=max_parallel_downloads=16 git curl wget which ;; arch) pacman -Sy --noconfirm git curl wget which ;; debian|openkylin) apt-get update && apt-get install -y git curl ca-certificates wget ;; esac @@ -184,7 +184,11 @@ jobs: if: matrix.distro == 'fedora' shell: bash run: | - dnf install -y \ + # Fedora 41 is EOL (its mirrors moved to the slow archive), so + # the matrix uses the current release; weak dependencies (docs, + # fonts, optional tooling) are skipped and downloads run wide. + dnf install -y --setopt=install_weak_deps=False \ + --setopt=max_parallel_downloads=16 \ gcc gcc-c++ clang clang-devel cmake pkgconf-pkg-config nasm \ git curl zip unzip tar python3 patch xz which \ pipewire-devel jack-audio-connection-kit-devel \ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce08988ae..c8b6f89e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ permissions: contents: read # One matrix, seven platforms: the three Linux-family packaging distros -# (Debian 12, Fedora 41, Arch), openKylin on x64 and arm64, macOS and +# (Debian 12, Fedora 43, Arch), openKylin on x64 and arm64, macOS and # Windows. The environments match .github/workflows/cd.yml exactly (same # container images, same dependency lists, same runner sizes), so a # "passes CI, fails CD" dependency drift is caught here first. @@ -48,7 +48,7 @@ jobs: arch: x64 runner: warp-ubuntu-latest-x64-8x triplet: x64-linux - container: '{"image":"fedora:41","options":"--shm-size=8g"}' + container: '{"image":"fedora:43","options":"--shm-size=8g"}' - name: Arch platform: linux distro: arch @@ -95,7 +95,7 @@ jobs: shell: bash run: | case "${{ matrix.distro }}" in - fedora) dnf install -y git curl wget which ;; + fedora) dnf install -y --setopt=install_weak_deps=False --setopt=max_parallel_downloads=16 git curl wget which ;; arch) pacman -Sy --noconfirm git curl wget which ;; debian|openkylin) apt-get update && apt-get install -y git curl ca-certificates wget ;; esac @@ -187,7 +187,11 @@ jobs: if: matrix.distro == 'fedora' shell: bash run: | - dnf install -y \ + # Fedora 41 is EOL (its mirrors moved to the slow archive), so + # the matrix uses the current release; weak dependencies (docs, + # fonts, optional tooling) are skipped and downloads run wide. + dnf install -y --setopt=install_weak_deps=False \ + --setopt=max_parallel_downloads=16 \ gcc gcc-c++ clang clang-devel cmake pkgconf-pkg-config nasm \ git curl zip unzip tar python3 patch xz which \ pipewire-devel jack-audio-connection-kit-devel \