Skip to content

Commit deb6fc8

Browse files
committed
[ci][linux] Add Fedora 44 and Ubuntu 26.04 packages, enable some previously disabled tests
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
1 parent bf1acac commit deb6fc8

7 files changed

Lines changed: 59 additions & 40 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"rootDir": "http-data/resolute",
3+
"downloadConcurrency": 4,
4+
"downloadSpeedLimit": 0,
5+
"architectures": [],
6+
"dependencyFollowSuggests": false,
7+
"dependencyFollowRecommends": false,
8+
"dependencyFollowAllVariants": false,
9+
"dependencyFollowSource": false,
10+
"dependencyVerboseResolve": false,
11+
"gpgDisableSign": false,
12+
"gpgDisableVerify": false,
13+
"gpgProvider": "gpg2",
14+
"downloadSourcePackages": false,
15+
"skipLegacyPool": true,
16+
"ppaDistributorID": "ubuntu",
17+
"ppaCodename": "",
18+
"FileSystemPublishEndpoints": {},
19+
"S3PublishEndpoints": {},
20+
"SwiftPublishEndpoints": {},
21+
"enableMetricsEndpoint": false,
22+
"logLevel": "info",
23+
"logFormat": "default",
24+
"serveInAPIMode": false
25+
}

.github/workflows/debrepo/package_depends.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
# This file is part of BOINC.
4-
# http://boinc.berkeley.edu
4+
# https://boinc.berkeley.edu
55
# Copyright (C) 2026 University of California
66
#
77
# BOINC is free software; you can redistribute it and/or modify it
@@ -27,7 +27,7 @@ function exit_usage() {
2727
}
2828

2929
case "$1_$2" in
30-
"focal_linux_client" | "jammy_linux_client" | "noble_linux_client" | "buster_linux_client" | "bullseye_linux_client" | "bookworm_linux_client" | "trixie_linux_client")
30+
"focal_linux_client" | "jammy_linux_client" | "noble_linux_client" | "resolute_linux_client" | "buster_linux_client" | "bullseye_linux_client" | "bookworm_linux_client" | "trixie_linux_client")
3131
echo "libc6,libxss1 (>= 1.2.3),ca-certificates,libatomic1"
3232
;;
3333
*) echo "libc6"

.github/workflows/linux-package-stable-release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This file is part of BOINC.
22
# https://boinc.berkeley.edu
3-
# Copyright (C) 2025 University of California
3+
# Copyright (C) 2026 University of California
44
#
55
# BOINC is free software; you can redistribute it and/or modify it
66
# under the terms of the GNU Lesser General Public License
@@ -38,7 +38,7 @@ jobs:
3838
runs-on: ubuntu-latest
3939
strategy:
4040
matrix:
41-
os: [focal, jammy, noble, buster, bullseye, bookworm, trixie]
41+
os: [focal, jammy, noble, resolute, buster, bullseye, bookworm, trixie]
4242
fail-fast: false
4343
steps:
4444
- name: Check if build is running from origin repo
@@ -97,7 +97,7 @@ jobs:
9797
image: fedora:38
9898
strategy:
9999
matrix:
100-
os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, suse15_4, suse15_5, suse15_6, suse16_0]
100+
os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, fc44, suse15_4, suse15_5, suse15_6, suse16_0]
101101
fail-fast: false
102102
env:
103103
PUBKEY_HASH: D4460B4F0EEDE2C0662092F640254C9B29853EA6

.github/workflows/linux-package.yml

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ jobs:
185185
needs: prepare-binaries
186186
strategy:
187187
matrix:
188-
os: [focal, jammy, noble, buster, bullseye, bookworm, trixie]
188+
os: [focal, jammy, noble, resolute, buster, bullseye, bookworm, trixie]
189189
type: [client, manager]
190190
arch: [arm64, amd64, armhf]
191191
fail-fast: false
@@ -258,20 +258,12 @@ jobs:
258258
cat "${{ github.workspace }}/${PKG_FULL}/DEBIAN/control"
259259
echo "------------------------"
260260
261-
- name: Create Ubuntu Package
262-
if: ${{ success() && ( matrix.os == 'focal' || matrix.os == 'jammy' || matrix.os == 'noble' ) }}
261+
- name: Create Package
262+
if: success()
263263
run: |
264264
cd ${{ github.workspace }}/
265-
# Build the actual package for Ubuntu with XZ compression
266265
fakeroot dpkg-deb -Zxz --build "${{ github.workspace }}/${PKG_FULL}"
267266
268-
- name: Create Debian Package
269-
if: ${{ success() && ( matrix.os == 'buster' || matrix.os == 'bullseye' || matrix.os == 'bookworm' || matrix.os == 'trixie' ) }}
270-
run: |
271-
cd ${{ github.workspace }}/
272-
# Build the actual package for Debian with GZIP compression
273-
fakeroot dpkg-deb -Zgzip --build "${{ github.workspace }}/${PKG_FULL}"
274-
275267
- name: Get info from generated package
276268
if: success()
277269
run: |
@@ -293,7 +285,7 @@ jobs:
293285
needs: prepare-binaries
294286
strategy:
295287
matrix:
296-
os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, suse15_4, suse15_5, suse15_6, suse16_0]
288+
os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, fc44, suse15_4, suse15_5, suse15_6, suse16_0]
297289
type: [client, manager]
298290
arch: [arm64, amd64, armhf]
299291
fail-fast: false
@@ -404,7 +396,7 @@ jobs:
404396
BOINCDIR=/var/lib/boinc
405397
406398
case ${{ matrix.os }} in
407-
"fc37" | "fc38" | "fc39" | "fc40" | "fc41" | "fc42" | "fc43")
399+
"fc37" | "fc38" | "fc39" | "fc40" | "fc41" | "fc42" | "fc43" | "fc44")
408400
CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt"
409401
;;
410402
"suse15_4" | "suse15_5" | "suse15_6" | "suse16_0")
@@ -547,7 +539,9 @@ jobs:
547539
ln -s ${BOINCDIR}/remote_hosts.cfg /etc/boinc-client/remote_hosts.cfg
548540
fi
549541
if [ ! -e ${BOINCDIR}/ca-bundle.crt ] ; then
550-
ln -s ${CA_BUNDLE} ${BOINCDIR}/ca-bundle.crt
542+
if [ -e ${CA_BUNDLE} ] ; then
543+
ln -s ${CA_BUNDLE} ${BOINCDIR}/ca-bundle.crt
544+
fi
551545
fi
552546
set_perm_recursive ${BOINCDIR} ${BOINCUSER} ${BOINCGROUP} u+rw,g+rw,o+r-w
553547
set_perm ${BOINCDIR} ${BOINCUSER} ${BOINCGROUP} 0775
@@ -774,7 +768,7 @@ jobs:
774768
needs: build-deb-package
775769
strategy:
776770
matrix:
777-
os: [focal, jammy, noble]
771+
os: [focal, jammy, noble, resolute]
778772
type: [install, upgrade, upgrade-from-ppa, upgrade-from-alpha, upgrade-from-stable]
779773
arch: [amd64, arm64, armhf]
780774
include:
@@ -816,7 +810,7 @@ jobs:
816810
DEBIAN_FRONTEND=noninteractive apt install -y boinc-client boinc-manager
817811
818812
- name: Install distro package for further upgrade from the alpha
819-
if: success() && matrix.type == 'upgrade-from-alpha'
813+
if: success() && matrix.type == 'upgrade-from-alpha' && matrix.os != 'resolute'
820814
run: |
821815
mkdir -p /etc/apt/keyrings
822816
curl -fsSL https://boinc.berkeley.edu/dl/linux/alpha/${{ matrix.os }}/boinc.gpg | gpg --dearmor -o /etc/apt/keyrings/boinc.gpg
@@ -825,7 +819,7 @@ jobs:
825819
DEBIAN_FRONTEND=noninteractive apt install -y boinc-client boinc-manager
826820
827821
- name: Install distro package for further upgrade from the stable
828-
if: success() && matrix.type == 'upgrade-from-stable'
822+
if: success() && matrix.type == 'upgrade-from-stable' && matrix.os != 'resolute'
829823
run: |
830824
mkdir -p /etc/apt/keyrings
831825
curl -fsSL https://boinc.berkeley.edu/dl/linux/stable/${{ matrix.os }}/boinc.gpg | gpg --dearmor -o /etc/apt/keyrings/boinc.gpg
@@ -870,7 +864,7 @@ jobs:
870864
needs: build-rpm-package
871865
strategy:
872866
matrix:
873-
os: [37, 38, 39, 40, 41, 42, 43]
867+
os: [37, 38, 39, 40, 41, 42, 43, 44]
874868
type: [install, upgrade, upgrade-from-alpha, upgrade-from-stable]
875869
arch: [amd64, arm64]
876870
include:
@@ -895,7 +889,7 @@ jobs:
895889
dnf install -y boinc-client boinc-manager
896890
897891
- name: Install distro package for further upgrade from the alpha for Fedora < 41
898-
if: success() && matrix.type == 'upgrade-from-alpha' && matrix.os != '41' && matrix.os != '42' && matrix.os != '43'
892+
if: success() && matrix.type == 'upgrade-from-alpha' && matrix.os != '41' && matrix.os != '42' && matrix.os != '43' && matrix.os != '44'
899893
run: |
900894
dnf install -y dnf-plugins-core
901895
dnf config-manager --add-repo https://boinc.berkeley.edu/dl/linux/alpha/fc${{ matrix.os }}
@@ -904,7 +898,7 @@ jobs:
904898
yum install -y boinc-client boinc-manager
905899
906900
- name: Install distro package for further upgrade from the alpha for Fedora >= 41
907-
if: success() && matrix.type == 'upgrade-from-alpha' && (matrix.os == '41' || matrix.os == '42')
901+
if: success() && matrix.type == 'upgrade-from-alpha' && (matrix.os == '41' || matrix.os == '42' || matrix.os == '43')
908902
run: |
909903
dnf install -y dnf-plugins-core
910904
dnf config-manager addrepo --from-repofile=https://boinc.berkeley.edu/dl/linux/alpha/fc${{ matrix.os }}/boinc-alpha-fc${{ matrix.os }}.repo
@@ -915,7 +909,7 @@ jobs:
915909
dnf install -y boinc-client-${client_version} boinc-manager-${manager_version}
916910
917911
- name: Install distro package for further upgrade from the stable for Fedora < 41
918-
if: success() && matrix.type == 'upgrade-from-stable' && matrix.os != '41' && matrix.os != '42' && matrix.os != '43'
912+
if: success() && matrix.type == 'upgrade-from-stable' && matrix.os != '41' && matrix.os != '42' && matrix.os != '43' && matrix.os != '44'
919913
run: |
920914
dnf install -y dnf-plugins-core
921915
dnf config-manager --add-repo https://boinc.berkeley.edu/dl/linux/stable/fc${{ matrix.os }}
@@ -924,7 +918,7 @@ jobs:
924918
yum install -y boinc-client boinc-manager
925919
926920
- name: Install distro package for further upgrade from the stable for Fedora > 41
927-
if: success() && matrix.type == 'upgrade-from-stable' && (matrix.os == '41' || matrix.os == '42')
921+
if: success() && matrix.type == 'upgrade-from-stable' && (matrix.os == '41' || matrix.os == '42' || matrix.os == '43')
928922
run: |
929923
dnf install -y dnf-plugins-core
930924
dnf config-manager addrepo --from-repofile=https://boinc.berkeley.edu/dl/linux/stable/fc${{ matrix.os }}/boinc-stable-fc${{ matrix.os }}.repo
@@ -947,13 +941,13 @@ jobs:
947941
name: linux-package_manager_${{ matrix.arch }}_fc${{ matrix.os }}_${{ github.event.pull_request.head.sha }}
948942

949943
- name: Install client and manager for Fedora < 41
950-
if: success() && matrix.os != '41' && matrix.os != '42' && matrix.os != '43'
944+
if: success() && matrix.os != '41' && matrix.os != '42' && matrix.os != '43' && matrix.os != '44'
951945
run: |
952946
yum localinstall -y --allowerasing $(find ./ -type f -name "boinc-client*.rpm" -printf "%p\n")
953947
yum localinstall -y --allowerasing $(find ./ -type f -name "boinc-manager*.rpm" -printf "%p\n")
954948
955949
- name: Install client and manager for Fedora >= 41
956-
if: success() && (matrix.os == '41' || matrix.os == '42' || matrix.os == '43')
950+
if: success() && (matrix.os == '41' || matrix.os == '42' || matrix.os == '43' || matrix.os == '44')
957951
run: |
958952
dnf5 install -y --allowerasing $(find ./ -type f -name "boinc-client*.rpm" -printf "%p\n")
959953
dnf5 install -y --allowerasing $(find ./ -type f -name "boinc-manager*.rpm" -printf "%p\n")
@@ -1045,7 +1039,7 @@ jobs:
10451039
needs: [test-debian-deb-package, test-ubuntu-deb-package]
10461040
strategy:
10471041
matrix:
1048-
os: [focal, jammy, noble, buster, bullseye, bookworm, trixie]
1042+
os: [focal, jammy, noble, resolute, buster, bullseye, bookworm, trixie]
10491043
fail-fast: false
10501044
steps:
10511045
- name: Check if build is running from origin repo
@@ -1158,7 +1152,7 @@ jobs:
11581152
needs: [test-fedora-rpm-package, test-opensuse-rpm-package]
11591153
strategy:
11601154
matrix:
1161-
os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, suse15_4, suse15_5, suse15_6, suse16_0]
1155+
os: [fc37, fc38, fc39, fc40, fc41, fc42, fc43, fc44, suse15_4, suse15_5, suse15_6, suse16_0]
11621156
fail-fast: false
11631157
env:
11641158
PUBKEY_HASH: D4460B4F0EEDE2C0662092F640254C9B29853EA6

.github/workflows/rpmrepo/package_depends.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function exit_usage() {
2525

2626
case "$1_$2" in
2727
# fedora distros
28-
"fc37_linux_client" | "fc38_linux_client" | "fc39_linux_client" | "fc40_linux_client" | "fc41_linux_client" | "fc42_linux_client" | "fc43_linux_client")
28+
"fc37_linux_client" | "fc38_linux_client" | "fc39_linux_client" | "fc40_linux_client" | "fc41_linux_client" | "fc42_linux_client" | "fc43_linux_client" | "fc44_linux_client")
2929
echo "glibc,libXScrnSaver >= 1.2.3,ca-certificates,libatomic"
3030
;;
3131
# opensuse distros

.github/workflows/rpmrepo/package_filelist.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# This file is part of BOINC.
44
# https://boinc.berkeley.edu
5-
# Copyright (C) 2025 University of California
5+
# Copyright (C) 2026 University of California
66
#
77
# BOINC is free software; you can redistribute it and/or modify it
88
# under the terms of the GNU Lesser General Public License
@@ -18,7 +18,7 @@
1818
# along with BOINC. If not, see <http://www.gnu.org/licenses/>.
1919

2020
case "$1_$2" in
21-
"fc37_linux_client" | "fc38_linux_client" | "fc39_linux_client" | "fc40_linux_client" | "fc41_linux_client" | "fc42_linux_client" | "fc43_linux_client" | "suse15_4_linux_client" | "suse15_5_linux_client" | "suse15_6_linux_client" | "suse16_0_linux_client")
21+
"fc37_linux_client" | "fc38_linux_client" | "fc39_linux_client" | "fc40_linux_client" | "fc41_linux_client" | "fc42_linux_client" | "fc43_linux_client" | "fc44_linux_client" | "suse15_4_linux_client" | "suse15_5_linux_client" | "suse15_6_linux_client" | "suse16_0_linux_client")
2222
echo """/etc/default/*
2323
/etc/init.d/*
2424
/etc/bash_completion.d/*
@@ -31,7 +31,7 @@ case "$1_$2" in
3131
"""
3232
;;
3333

34-
"fc37_linux_manager" | "fc38_linux_manager" | "fc39_linux_manager" | "fc40_linux_manager" | "fc41_linux_manager" | "fc42_linux_manager" | "fc43_linux_manager" | "suse15_4_linux_manager" | "suse15_5_linux_manager" | "suse15_6_linux_manager" | "suse16_0_linux_manager")
34+
"fc37_linux_manager" | "fc38_linux_manager" | "fc39_linux_manager" | "fc40_linux_manager" | "fc41_linux_manager" | "fc42_linux_manager" | "fc43_linux_manager" | "fc44_linux_manager" | "suse15_4_linux_manager" | "suse15_5_linux_manager" | "suse15_6_linux_manager" | "suse16_0_linux_manager")
3535
echo """/usr/local/bin/*
3636
/usr/local/share/applications/*
3737
/usr/local/share/boinc-manager/*

tests/linux_package_integration_tests.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# This file is part of BOINC.
44
# https://boinc.berkeley.edu
5-
# Copyright (C) 2025 University of California
5+
# Copyright (C) 2026 University of California
66
#
77
# BOINC is free software; you can redistribute it and/or modify it
88
# under the terms of the GNU Lesser General Public License
@@ -160,10 +160,10 @@ def test_files_exist(self):
160160
ts.expect_equal("/etc/boinc-client/gui_rpc_auth.cfg", os.readlink("/var/lib/boinc/gui_rpc_auth.cfg"), "Test '/var/lib/boinc/gui_rpc_auth.cfg' file is a symbolic link to '/etc/boinc-client/gui_rpc_auth.cfg'")
161161
else:
162162
ts.expect_true(False, "Test 'gui_rpc_auth.cfg' file is a symbolic link")
163-
ts.expect_not_equal("", self._get_ca_certificates_file_path(), "Test system 'ca-certificates.crt' file exists")
164-
ts.expect_true(os.path.exists("/var/lib/boinc/ca-bundle.crt"), "Test 'ca-bundle.crt' file exists in '/var/lib/boinc/'")
165-
ts.expect_true(os.path.islink("/var/lib/boinc/ca-bundle.crt"), "Test '/var/lib/boinc/ca-bundle.crt' file is a symbolic link")
166-
ts.expect_equal(self._get_ca_certificates_file_path(), os.readlink("/var/lib/boinc/ca-bundle.crt"), "Test '/var/lib/boinc/ca-bundle.crt' file is a symbolic link to the system 'ca-certificates.crt' file")
163+
if (self._get_ca_certificates_file_path() != ""):
164+
ts.expect_true(os.path.exists("/var/lib/boinc/ca-bundle.crt"), "Test 'ca-bundle.crt' file exists in '/var/lib/boinc/'")
165+
ts.expect_true(os.path.islink("/var/lib/boinc/ca-bundle.crt"), "Test '/var/lib/boinc/ca-bundle.crt' file is a symbolic link")
166+
ts.expect_equal(self._get_ca_certificates_file_path(), os.readlink("/var/lib/boinc/ca-bundle.crt"), "Test '/var/lib/boinc/ca-bundle.crt' file is a symbolic link to the system 'ca-certificates.crt' file")
167167
ts.expect_true(os.path.exists("/var/lib/boinc/all_projects_list.xml"), "Test 'all_projects_list.xml' file exists in '/var/lib/boinc/'")
168168
return ts.result()
169169

0 commit comments

Comments
 (0)