Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions .github/workflows/debrepo/aptly.bullseye.conf

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/debrepo/aptly.buster.conf

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/debrepo/aptly.focal.conf

This file was deleted.

10 changes: 0 additions & 10 deletions .github/workflows/debrepo/package_prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -101,16 +101,6 @@ ROOT=$(pwd)
FULLPKG="$1" # full name of the package
BASEPKG="$2" # name of the artifact type

# validity check
case "$BASEPKG" in
"linux_client" | "linux_manager")
;;

*) echo "ERROR: Unknown package preparation requested"
exit_usage
;;
esac

# setup of the archive
stat "$ROOT/$FULLPKG"
exit_on_fail
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/linux-package-stable-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
os: [focal, jammy, noble, resolute, buster, bullseye, bookworm, trixie]
os: [jammy, noble, resolute, bookworm, trixie]
fail-fast: false
steps:
- name: Check if build is running from origin repo
Expand Down Expand Up @@ -94,10 +94,10 @@ jobs:
if: github.repository == 'BOINC/boinc'
runs-on: ubuntu-latest
container:
image: fedora:38
image: fedora:44
strategy:
matrix:
os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, fc44, suse15_4, suse15_5, suse15_6, suse16_0]
os: [fc43, fc44, suse16_0]
fail-fast: false
env:
PUBKEY_HASH: D4460B4F0EEDE2C0662092F640254C9B29853EA6
Expand Down
113 changes: 26 additions & 87 deletions .github/workflows/linux-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
name: Prepare Binaries
runs-on: ubuntu-latest
container:
image: debian:buster
image: ubuntu:jammy
env:
AWS_ACCESS_KEY_ID: env.AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: env.AWS_SECRET_ACCESS_KEY
Expand Down Expand Up @@ -81,51 +81,20 @@ jobs:
run: |
echo "VCPKG_BINARY_SOURCES=clear;x-aws-config,no-sign-request;x-aws,s3://vcpkg.cache.boinc/,read" >> $GITHUB_ENV

- name: Fix debian sources
run: |
sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list
sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list

- name: Install dependencies
run: |
apt-get update
apt-get install -y autopoint make build-essential m4 pkg-config autoconf autoconf-archive libtool git python3 python3-distutils python3-jinja2 python3-venv curl zip unzip tar bison p7zip-full dbus flex
apt update
DEBIAN_FRONTEND=noninteractive apt install -y autopoint make build-essential m4 pkg-config autoconf autoconf-archive libtool git python3 python3-distutils python3-jinja2 python3-venv curl zip unzip tar bison p7zip-full dbus flex

- name: Install dependencies for arm64
if: matrix.arch == 'arm64'
run: |
apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
DEBIAN_FRONTEND=noninteractive apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu

- name: Install dependencies for armhf
if: matrix.arch == 'armhf'
run: |
apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf

- name: Install updated version of autoconf
run: |
if [ ! -f ${{ env.AUTOCONF_WITH_VERSION }}.tar.gz ]; then
curl https://ftp.gnu.org/gnu/autoconf/${{ env.AUTOCONF_WITH_VERSION }}.tar.gz -o ${{ env.AUTOCONF_WITH_VERSION }}.tar.gz
fi
tar -xzf ${{ env.AUTOCONF_WITH_VERSION }}.tar.gz
cd ${{ env.AUTOCONF_WITH_VERSION }}
./configure --prefix=/usr
make -j $(nproc --all)
make install
cd ..
autoconf --version

- name: Install updated version of bison
run: |
if [ ! -f ${{ env.BISON_WITH_VERSION }}.tar.gz ]; then
curl https://ftp.gnu.org/gnu/bison/${{ env.BISON_WITH_VERSION }}.tar.gz -o ${{ env.BISON_WITH_VERSION }}.tar.gz
fi
tar -xzf ${{ env.BISON_WITH_VERSION }}.tar.gz
cd ${{ env.BISON_WITH_VERSION }}
./configure --prefix=/usr
make -j $(nproc --all)
make install
cd ..
bison --version
DEBIAN_FRONTEND=noninteractive apt install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf

- name: Install aws cli tool
run: |
Expand Down Expand Up @@ -201,7 +170,7 @@ jobs:
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 170 to 175
fail-fast: false
Expand Down Expand Up @@ -301,7 +270,7 @@ jobs:
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 270 to 274
arch: [arm64, amd64, armhf]
fail-fast: false
Expand Down Expand Up @@ -412,13 +381,13 @@ jobs:
BOINCDIR=/var/lib/boinc

case ${{ matrix.os }} in
"fc37" | "fc38" | "fc39" | "fc40" | "fc41" | "fc42" | "fc43")
"fc43")
CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt"
;;
"fc44")
CA_BUNDLE="/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"
;;
"suse15_4" | "suse15_5" | "suse15_6" | "suse16_0")
"suse16_0")
CA_BUNDLE="/etc/ssl/ca-bundle.pem"
;;
esac
Expand Down Expand Up @@ -697,7 +666,7 @@ jobs:
needs: build-deb-package
strategy:
matrix:
os: [buster, bullseye, bookworm, trixie]
os: [bookworm, trixie]
type: [install, upgrade, upgrade-from-alpha, upgrade-from-stable]
arch: [amd64, arm64, armhf]
include:
Expand All @@ -713,12 +682,6 @@ jobs:
with:
fetch-depth: 2

- name: Fix debian sources
if: matrix.os == 'buster'
run: |
sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list
sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list

- name: Enable armhf architecture
if: success() && matrix.arch == 'armhf'
run: |
Expand All @@ -729,7 +692,7 @@ jobs:
if: success()
run: |
apt update
apt install -y python3 gnupg2 curl
DEBIAN_FRONTEND=noninteractive apt install -y python3 gnupg2 curl

- name: Install distro package for further upgrade
if: success() && matrix.type == 'upgrade'
Expand Down Expand Up @@ -786,7 +749,7 @@ jobs:
needs: build-deb-package
strategy:
matrix:
os: [focal, jammy, noble, resolute]
os: [jammy, noble, resolute]
type: [install, upgrade, upgrade-from-ppa, upgrade-from-alpha, upgrade-from-stable]
arch: [amd64, arm64, armhf]
include:
Expand Down Expand Up @@ -831,7 +794,7 @@ jobs:
if: success()
run: |
apt update
apt install -y python3 gnupg2 curl
DEBIAN_FRONTEND=noninteractive apt install -y python3 gnupg2 curl

- name: Install distro package for further upgrade
if: success() && matrix.type == 'upgrade'
Expand Down Expand Up @@ -896,7 +859,7 @@ jobs:
needs: build-rpm-package
strategy:
matrix:
os: [37, 38, 39, 40, 41, 42, 43, 44]
os: [43, 44]
type: [install, upgrade, upgrade-from-alpha, upgrade-from-stable]
arch: [amd64, arm64]
include:
Expand All @@ -920,17 +883,8 @@ jobs:
run: |
dnf install -y boinc-client boinc-manager

- name: Install distro package for further upgrade from the alpha for Fedora < 41
if: success() && matrix.type == 'upgrade-from-alpha' && matrix.os != '41' && matrix.os != '42' && matrix.os != '43' && matrix.os != '44'
run: |
dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://boinc.berkeley.edu/dl/linux/alpha/fc${{ matrix.os }}
dnf config-manager --set-enabled boinc.berkeley.edu_dl_linux_alpha_fc${{ matrix.os }}
rpm --import https://boinc.berkeley.edu/dl/linux/alpha/fc${{ matrix.os }}/boinc.gpg
yum install -y boinc-client boinc-manager

- name: Install distro package for further upgrade from the alpha for Fedora >= 41
if: success() && matrix.type == 'upgrade-from-alpha' && (matrix.os == '41' || matrix.os == '42' || matrix.os == '43' || matrix.os == '44')
- name: Install distro package for further upgrade from the alpha
if: success() && matrix.type == 'upgrade-from-alpha'
run: |
dnf install -y dnf-plugins-core
dnf config-manager addrepo --from-repofile=https://boinc.berkeley.edu/dl/linux/alpha/fc${{ matrix.os }}/boinc-alpha-fc${{ matrix.os }}.repo
Expand All @@ -940,17 +894,8 @@ jobs:
manager_version=$(dnf list --available --repo boinc-alpha-fc${{ matrix.os }} | grep boinc-manager | grep -oP '\b\d+\.\d+\.\d+\b' | head -n 1)
dnf install -y boinc-client-${client_version} boinc-manager-${manager_version}

- name: Install distro package for further upgrade from the stable for Fedora < 41
if: success() && matrix.type == 'upgrade-from-stable' && matrix.os != '41' && matrix.os != '42' && matrix.os != '43' && matrix.os != '44'
run: |
dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://boinc.berkeley.edu/dl/linux/stable/fc${{ matrix.os }}
dnf config-manager --set-enabled boinc.berkeley.edu_dl_linux_stable_fc${{ matrix.os }}
rpm --import https://boinc.berkeley.edu/dl/linux/stable/fc${{ matrix.os }}/boinc.gpg
yum install -y boinc-client boinc-manager

- name: Install distro package for further upgrade from the stable for Fedora > 41
if: success() && matrix.type == 'upgrade-from-stable' && (matrix.os == '41' || matrix.os == '42' || matrix.os == '43' || matrix.os == '44')
- name: Install distro package for further upgrade from the stable
if: success() && matrix.type == 'upgrade-from-stable'
run: |
dnf install -y dnf-plugins-core
dnf config-manager addrepo --from-repofile=https://boinc.berkeley.edu/dl/linux/stable/fc${{ matrix.os }}/boinc-stable-fc${{ matrix.os }}.repo
Expand All @@ -972,14 +917,8 @@ jobs:
with:
name: linux-package_manager_${{ matrix.arch }}_fc${{ matrix.os }}_${{ github.event.pull_request.head.sha }}

- name: Install client and manager for Fedora < 41
if: success() && matrix.os != '41' && matrix.os != '42' && matrix.os != '43' && matrix.os != '44'
run: |
yum localinstall -y --allowerasing $(find ./ -type f -name "boinc-client*.rpm" -printf "%p\n")
yum localinstall -y --allowerasing $(find ./ -type f -name "boinc-manager*.rpm" -printf "%p\n")

- name: Install client and manager for Fedora >= 41
if: success() && (matrix.os == '41' || matrix.os == '42' || matrix.os == '43' || matrix.os == '44')
- name: Install client and manager
if: success()
run: |
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")
Comment on lines 923 to 924
Expand All @@ -997,7 +936,7 @@ jobs:
needs: build-rpm-package
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>

type: [install, upgrade, upgrade-from-alpha, upgrade-from-stable]
arch: [amd64, arm64]
include:
Expand Down Expand Up @@ -1071,7 +1010,7 @@ jobs:
needs: [test-debian-deb-package, test-ubuntu-deb-package]
strategy:
matrix:
os: [focal, jammy, noble, resolute, buster, bullseye, bookworm, trixie]
os: [jammy, noble, resolute, bookworm, trixie]
fail-fast: false
steps:
- name: Check if build is running from origin repo
Expand Down Expand Up @@ -1109,8 +1048,8 @@ jobs:
- name: Install dependencies
if: ${{ success() && env.SKIP_RUN == 0 }}
run: |
sudo apt-get update
sudo apt-get install -y aptly gnupg2 gpgv
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt install -y aptly gnupg2 gpgv

- name: Setup GPG keys
if: ${{ success() && env.SKIP_RUN == 0 }}
Expand Down Expand Up @@ -1180,11 +1119,11 @@ jobs:
if: github.repository == 'BOINC/boinc'
runs-on: ubuntu-latest
container:
image: fedora:38
image: fedora:44
needs: [test-fedora-rpm-package, test-opensuse-rpm-package]
strategy:
matrix:
os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, fc44, suse15_4, suse15_5, suse15_6, suse16_0]
os: [fc43, fc44, suse16_0]
fail-fast: false
env:
PUBKEY_HASH: D4460B4F0EEDE2C0662092F640254C9B29853EA6
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/rpmrepo/package_depends.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ function exit_usage() {

case "$1" in
# fedora distros
"fc37" | "fc38" | "fc39" | "fc40" | "fc41" | "fc42" | "fc43" | "fc44")
"fc43" | "fc44")
case "$2" in
"client")
echo "glibc,libXScrnSaver >= 1.2.3,ca-certificates,libatomic"
Expand All @@ -38,7 +38,7 @@ case "$1" in
esac
;;
# opensuse distros
"suse15_4" | "suse15_5" | "suse15_6" | "suse16_0")
"suse16_0")
case "$2" in
"client")
echo "glibc,libXss1 >= 1.2.2,ca-certificates,libatomic1"
Expand Down
Loading
Loading