[ci][linux] Drop unsupported Linux versions. - #7085
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the Linux packaging CI to drop EOL distro targets and standardize builds on newer base images (notably Ubuntu 22.04 / jammy), reducing the workflow matrix and removing legacy packaging configurations.
Changes:
- Shrinks the DEB/RPM build and test matrices by removing Debian buster/bullseye, Ubuntu focal, Fedora 37–42, and openSUSE 15.4–15.6.
- Switches the “Prepare Binaries” container from Debian buster to Ubuntu jammy and removes buster-specific apt workarounds and source builds of autoconf/bison.
- Refactors packaging helper scripts/workflow calls to use
client/managerinstead oflinux_client/linux_manager.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/linux-package.yml | Drops unsupported distros from build/test matrices; changes base container(s); refactors packaging script arguments. |
| .github/workflows/linux-package-stable-release.yml | Drops unsupported distros from stable-release publishing matrices; updates Fedora container image. |
| .github/workflows/debrepo/package_prepare.sh | Refactors accepted package-type argument values for DEB packaging. |
| .github/workflows/rpmrepo/package_prepare.sh | Refactors accepted package-type argument values for RPM packaging. |
| .github/workflows/rpmrepo/package_depends.sh | Removes dependency mappings for dropped Fedora/openSUSE releases. |
| .github/workflows/rpmrepo/package_filelist.sh | Simplifies RPM filelist selection to depend only on package type. |
| .github/workflows/debrepo/aptly.focal.conf | Removes aptly config for dropped Ubuntu focal publishing. |
| .github/workflows/debrepo/aptly.buster.conf | Removes aptly config for dropped Debian buster publishing. |
| .github/workflows/debrepo/aptly.bullseye.conf | Removes aptly config for dropped Debian bullseye publishing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Prepare package | ||
| if: success() | ||
| run: | | ||
| ls -l pkgs/ |
| - name: Create RPM folder | ||
| if: success() | ||
| run: | | ||
| mkdir ${PKG_FULL} | ||
| .github/workflows/rpmrepo/package_prepare.sh "${PKG_FULL}" "linux_${{ matrix.type }}" | ||
| .github/workflows/rpmrepo/package_prepare.sh "${PKG_FULL}" "${{ matrix.type }}" | ||
|
|
|
|
||
| # specialized prepare | ||
| case "$BASEPKG" in | ||
| "linux_client") | ||
| "client") | ||
| prepare_client | ||
| ;; | ||
| "linux_manager") | ||
| "manager") |
| # specialized prepare | ||
| case "$BASEPKG" in | ||
| "linux_client") | ||
| "client") | ||
| prepare_client | ||
| ;; | ||
| "linux_manager") | ||
| "manager") | ||
| prepare_manager | ||
| ;; |
d6fc3cb to
eee89df
Compare
This removes support of: - Debian: -- 10 (buster) -- 11 (bullseye) - Ubuntu: -- 20.04 (focal) - Fedora: -- 37 -- 38 -- 39 -- 40 -- 41 -- 42 - openSUSE: -- 15.4 -- 15.5 -- 15.6 From now use Ubuntu 22.04 (jammy) as a new build base for Linux packages (minimal glibc version 2.35). Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
eee89df to
6f4a8ae
Compare
| SOURCE_PATH "${SOURCE_PATH}" | ||
| AUTORECONF | ||
| OPTIONS_RELEASE | ||
| "--bindir=\\\${prefix}/tools/${PORT}" # legacy from vendored CMake build |
| needs: prepare-binaries | ||
| strategy: | ||
| matrix: | ||
| os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, fc44, suse15_4, suse15_5, suse15_6, suse16_0] | ||
| os: [fc43, fc44, suse16_0] | ||
| type: [client, manager] |
| needs: prepare-binaries | ||
| strategy: | ||
| matrix: | ||
| os: [focal, jammy, noble, resolute, buster, bullseye, bookworm, trixie] | ||
| os: [jammy, noble, resolute, bookworm, trixie] | ||
| type: [client, manager] | ||
| arch: [arm64, amd64, armhf] |
| dnf5 install -y --allowerasing $(find ./ -type f -name "boinc-client*.rpm" -printf "%p\n") | ||
| dnf5 install -y --allowerasing $(find ./ -type f -name "boinc-manager*.rpm" -printf "%p\n") |
There was a problem hiding this comment.
1 issue found across 10 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/workflows/linux-package.yml">
<violation number="1" location=".github/workflows/linux-package.yml:939">
P2: The openSUSE `upgrade` matrix variant is now a no-op upgrade path (it skips the upgrade setup for all rows), so CI runs duplicate install-like jobs without actually testing upgrade behavior.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| strategy: | ||
| matrix: | ||
| os: ["15.4", "15.5", "15.6", "16.0"] | ||
| os: ["16.0"] |
There was a problem hiding this comment.
P2: The openSUSE upgrade matrix variant is now a no-op upgrade path (it skips the upgrade setup for all rows), so CI runs duplicate install-like jobs without actually testing upgrade behavior.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/linux-package.yml, line 939:
<comment>The openSUSE `upgrade` matrix variant is now a no-op upgrade path (it skips the upgrade setup for all rows), so CI runs duplicate install-like jobs without actually testing upgrade behavior.</comment>
<file context>
@@ -997,7 +936,7 @@ jobs:
strategy:
matrix:
- os: ["15.4", "15.5", "15.6", "16.0"]
+ os: ["16.0"]
type: [install, upgrade, upgrade-from-alpha, upgrade-from-stable]
arch: [amd64, arm64]
</file context>
This removes support of:
-- 10 (buster)
-- 11 (bullseye)
-- 20.04 (focal)
-- 37
-- 38
-- 39
-- 40
-- 41
-- 42
-- 15.4
-- 15.5
-- 15.6
From now use Ubuntu 22.04 (jammy) as a new build base for Linux packages (minimal glibc version 2.35).
Summary by cubic
Drop CI and packaging support for EOL Linux distros and standardize builds on Ubuntu 22.04 (
ubuntu:jammy). This trims the matrix, simplifies workflows, and sets the minimumglibcto 2.35.Refactors
ubuntu:jammy; removed legacy apt hacks and manual autoconf/bison builds.gperf.buster/bullseye, Ubuntufocal, Fedora37–42, openSUSE15.4–15.6. Fedora now usesfedora:44and builds/tests onlyfc43/fc44; openSUSE only16.0.linux_client/linux_manager), streamline CA bundle detection, and relaxpackage_prepare.shvalidation.Migration
bookworm,trixie; Ubuntujammy,noble,resolute; Fedora43,44; openSUSE16.0.glibc: 2.35.Written for commit 6f4a8ae. Summary will update on new commits. Review in cubic