Skip to content

[ci][linux] Drop unsupported Linux versions. - #7085

Merged
AenBleidd merged 1 commit into
masterfrom
vko_drop_unsupported_linux_versions
May 20, 2026
Merged

[ci][linux] Drop unsupported Linux versions.#7085
AenBleidd merged 1 commit into
masterfrom
vko_drop_unsupported_linux_versions

Conversation

@AenBleidd

@AenBleidd AenBleidd commented May 20, 2026

Copy link
Copy Markdown
Member

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).


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 minimum glibc to 2.35.

  • Refactors

    • Standardize Linux builds on ubuntu:jammy; removed legacy apt hacks and manual autoconf/bison builds.
    • Add custom vcpkg port for gperf.
    • Trim CI matrices and repo configs: drop Debian buster/bullseye, Ubuntu focal, Fedora 37–42, openSUSE 15.4–15.6. Fedora now uses fedora:44 and builds/tests only fc43/fc44; openSUSE only 16.0.
    • Simplify packaging: unify RPM filelists by package type (linux_client/linux_manager), streamline CA bundle detection, and relax package_prepare.sh validation.
  • Migration

    • No longer build or test: Debian 10/11, Ubuntu 20.04, Fedora 37–42, openSUSE 15.4–15.6.
    • Supported targets: Debian bookworm, trixie; Ubuntu jammy, noble, resolute; Fedora 43, 44; openSUSE 16.0.
    • New minimum glibc: 2.35.

Written for commit 6f4a8ae. Summary will update on new commits. Review in cubic

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 / manager instead of linux_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/
Comment on lines 337 to 342
- 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 }}"

Comment on lines +119 to +125

# specialized prepare
case "$BASEPKG" in
"linux_client")
"client")
prepare_client
;;
"linux_manager")
"manager")
Comment on lines 123 to 130
# specialized prepare
case "$BASEPKG" in
"linux_client")
"client")
prepare_client
;;
"linux_manager")
"manager")
prepare_manager
;;
@AenBleidd
AenBleidd force-pushed the vko_drop_unsupported_linux_versions branch from d6fc3cb to eee89df Compare May 20, 2026 09:16
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>
@AenBleidd
AenBleidd force-pushed the vko_drop_unsupported_linux_versions branch from eee89df to 6f4a8ae Compare May 20, 2026 09:58
Copilot AI review requested due to automatic review settings May 20, 2026 09:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.

SOURCE_PATH "${SOURCE_PATH}"
AUTORECONF
OPTIONS_RELEASE
"--bindir=\\\${prefix}/tools/${PORT}" # legacy from vendored CMake build
Comment on lines 270 to 274
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]
Comment on lines 170 to 175
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]
Comment on lines 923 to 924
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")
@AenBleidd
AenBleidd marked this pull request as ready for review May 20, 2026 11:04
@AenBleidd
AenBleidd merged commit 6b16036 into master May 20, 2026
273 checks passed
@AenBleidd
AenBleidd deleted the vko_drop_unsupported_linux_versions branch May 20, 2026 11:04
@github-project-automation github-project-automation Bot moved this from In progress to Merged in Client/Manager May 20, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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"]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants