Skip to content

Commit 29d83d3

Browse files
authored
Merge pull request #1 from xrootd/master
Update to recent upstream master
2 parents 619e93f + c9aaf67 commit 29d83d3

File tree

438 files changed

+10319
-17883
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

438 files changed

+10319
-17883
lines changed

.ci/config.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
set(FORCE_ENABLED 0 CACHE BOOL "")
22
set(ENABLE_ASAN 0 CACHE BOOL "")
33
set(ENABLE_TSAN 0 CACHE BOOL "")
4+
set(ENABLE_CEPH 1 CACHE BOOL "")
45
set(ENABLE_FUSE 1 CACHE BOOL "")
56
set(ENABLE_HTTP 1 CACHE BOOL "")
67
set(ENABLE_KRB5 1 CACHE BOOL "")

.clang-tidy

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#
2+
# For a list of checks, run clang-tidy -checks=* --list-checks
3+
# or see https://clang.llvm.org/extra/clang-tidy/checks/list.html
4+
#
5+
---
6+
Checks: '-*,clang-analyzer-core.*'
7+
WarningsAsErrors: ''
8+
HeaderFilterRegex: ''
9+
FormatStyle: none
10+
CheckOptions:
11+
modernize-use-nullptr.NullMacros: 'NULL'
12+
...

.github/workflows/CI.yml

Lines changed: 69 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ jobs:
4444
apk add \
4545
bash \
4646
cmake \
47-
cppunit-dev \
4847
ceph-dev \
4948
curl-dev \
5049
fuse-dev \
@@ -60,6 +59,7 @@ jobs:
6059
make \
6160
openssl \
6261
openssl-dev \
62+
procps \
6363
py3-pip \
6464
py3-setuptools \
6565
py3-wheel \
@@ -72,7 +72,7 @@ jobs:
7272
zlib-dev
7373
7474
- name: Clone repository
75-
uses: actions/checkout@v3
75+
uses: actions/checkout@v4
7676
with:
7777
fetch-depth: 0
7878

@@ -96,16 +96,31 @@ jobs:
9696
container: centos:7
9797

9898
env:
99+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
100+
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node18
99101
CMAKE_ARGS: "-DCMAKE_INSTALL_PREFIX=/usr;-DCMAKE_INSTALL_RPATH='$ORIGIN/../$LIB'"
100102

101103
steps:
104+
- name: Use CentOS 7 Vault Repository URLs
105+
run: |
106+
sed -i -e '/mirrorlist/d' \
107+
-e 's/# \?baseurl=/baseurl=/g' \
108+
-e 's/mirror.centos.org/vault.centos.org/g' \
109+
-e 's/$releasever/7.9.2009/g' \
110+
/etc/yum.repos.d/*.repo
111+
yum install -y centos-release-scl epel-release
112+
sed -i -e '/mirrorlist/d' \
113+
-e 's/# \?baseurl=/baseurl=/g' \
114+
-e 's/mirror.centos.org/vault.centos.org/g' \
115+
-e 's/$releasever/7.9.2009/g' \
116+
/etc/yum.repos.d/*.repo
117+
102118
- name: Install dependencies
103119
run: |
104-
yum install -y centos-release-scl epel-release git
105-
yum install -y epel-rpm-macros rpmdevtools sudo yum-utils
120+
yum install -y epel-rpm-macros git rpmdevtools sudo yum-utils
106121
107122
- name: Clone repository
108-
uses: actions/checkout@v3
123+
uses: actions/checkout@v1
109124
with:
110125
fetch-depth: 0
111126

@@ -135,7 +150,7 @@ jobs:
135150
dnf config-manager --set-enabled powertools
136151
137152
- name: Clone repository
138-
uses: actions/checkout@v3
153+
uses: actions/checkout@v4
139154
with:
140155
fetch-depth: 0
141156

@@ -171,7 +186,43 @@ jobs:
171186
dnf config-manager --set-enabled crb
172187
173188
- name: Clone repository
174-
uses: actions/checkout@v3
189+
uses: actions/checkout@v4
190+
with:
191+
fetch-depth: 0
192+
193+
- name: Setup GitHub runner user within container
194+
run: adduser --uid 1001 runner && chown -R runner:runner ${GITHUB_WORKSPACE}
195+
196+
- name: Install XRootD build dependencies
197+
run: dnf builddep -y xrootd.spec
198+
199+
- name: Build and Test with CTest
200+
run: sudo -E -u runner ctest -VV -S test.cmake
201+
202+
- name: Install with CMake
203+
run: cmake --install build
204+
205+
- name: Run post-install tests
206+
run: |
207+
tests/post-install.sh
208+
tests/check-headers.sh
209+
210+
alma10beta:
211+
name: Alma 10 (beta)
212+
runs-on: ubuntu-latest
213+
container: almalinux:10-kitten
214+
215+
env:
216+
CMAKE_ARGS: "-DCMAKE_INSTALL_PREFIX=/usr;-DCMAKE_INSTALL_RPATH='$ORIGIN/../$LIB'"
217+
218+
steps:
219+
- name: Install dependencies
220+
run: |
221+
dnf install -y dnf-plugins-core epel-release git rpmdevtools sudo
222+
dnf config-manager --set-enabled crb
223+
224+
- name: Clone repository
225+
uses: actions/checkout@v4
175226
with:
176227
fetch-depth: 0
177228

@@ -206,7 +257,7 @@ jobs:
206257
run: dnf install -y dnf-plugins-core git ninja-build rpmdevtools
207258

208259
- name: Clone repository
209-
uses: actions/checkout@v3
260+
uses: actions/checkout@v4
210261
with:
211262
fetch-depth: 0
212263

@@ -241,43 +292,19 @@ jobs:
241292
CMAKE_ARGS: '-DINSTALL_PYTHON_BINDINGS=0;-DUSE_SYSTEM_ISAL=1;-DCMAKE_INSTALL_PREFIX=/usr'
242293

243294
steps:
244-
- name: Install dependencies
295+
- name: Install development tools
245296
run: |
246-
sudo apt update -q
247-
sudo apt install -y \
248-
cmake \
249-
clang \
250-
davix-dev \
251-
g++ \
252-
libcppunit-dev \
253-
libcurl4-openssl-dev \
254-
libfuse-dev \
255-
libgtest-dev \
256-
libisal-dev \
257-
libjson-c-dev \
258-
libkrb5-dev \
259-
libmacaroons-dev \
260-
libreadline-dev \
261-
libscitokens-dev \
262-
libssl-dev \
263-
libsystemd-dev \
264-
libtinyxml-dev \
265-
libxml2-dev \
266-
make \
267-
pkg-config \
268-
python3-dev \
269-
python3-pip \
270-
python3-setuptools \
271-
python3-wheel \
272-
uuid-dev \
273-
voms-dev \
274-
zlib1g-dev
297+
sudo apt update -qq
298+
sudo apt install -y build-essential devscripts equivs git
275299
276300
- name: Clone repository
277-
uses: actions/checkout@v3
301+
uses: actions/checkout@v4
278302
with:
279303
fetch-depth: 0
280304

305+
- name: Install XRootD build dependencies
306+
run: mk-build-deps --install --remove -s sudo debian/control <<< yes
307+
281308
- name: Build and Test with CTest
282309
run: env CC=${CC} CXX=${CC/g*/g++} ctest -VV -S test.cmake
283310

@@ -297,7 +324,7 @@ jobs:
297324
298325
macos:
299326
name: macOS
300-
runs-on: macos-latest
327+
runs-on: macos-13
301328

302329
env:
303330
CC: clang
@@ -310,13 +337,10 @@ jobs:
310337
run: sudo sed -i -e "s/localhost/localhost $(hostname)/g" /etc/hosts
311338

312339
- name: Install dependencies with Homebrew
313-
run: brew install cppunit davix googletest isa-l
314-
315-
- name: Install Python dependencies with pip
316-
run: python3 -m pip install --upgrade pip setuptools wheel
340+
run: brew install davix googletest python-setuptools
317341

318342
- name: Clone repository
319-
uses: actions/checkout@v3
343+
uses: actions/checkout@v4
320344
with:
321345
fetch-depth: 0
322346

.github/workflows/COV.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: COV
2+
3+
on:
4+
push:
5+
branches:
6+
- devel
7+
- master
8+
paths-ignore:
9+
- .gitignore
10+
- .gitlab-ci.yml
11+
- .mailmap
12+
- '**.md'
13+
- 'docs/**'
14+
- 'docker/**'
15+
tags:
16+
pull_request:
17+
workflow_dispatch:
18+
19+
concurrency:
20+
group: ${{ github.workflow }}-${{ github.ref }}
21+
cancel-in-progress: true
22+
23+
defaults:
24+
run:
25+
shell: bash
26+
27+
env:
28+
CDASH: ${{ vars.CDASH }}
29+
DEBIAN_FRONTEND: noninteractive
30+
31+
jobs:
32+
coverage:
33+
name: Coverage Report
34+
runs-on: ubuntu-latest
35+
36+
steps:
37+
- name: Install dependencies
38+
run: |
39+
sudo ln -sf /usr/share/zoneinfo/UTC /etc/localtime
40+
sudo apt update -q
41+
sudo apt install -y build-essential devscripts equivs gcovr git
42+
43+
- name: Checkout repository
44+
uses: actions/checkout@v4
45+
with:
46+
fetch-depth: 0
47+
48+
- name: Install XRootD build dependencies
49+
run: mk-build-deps --install --remove -s sudo debian/control <<< yes
50+
51+
- name: Build and Test with CTest
52+
run: ctest -V --output-on-failure -C Debug -DCOVERAGE=1 -S test.cmake
53+
54+
- if: ${{ vars.CODECOV == 'true' }}
55+
name: Upload coverage to Codecov
56+
uses: codecov/codecov-action@v4
57+
with:
58+
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/DEB.yml

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
apt install -y build-essential devscripts git
4444
4545
- name: Clone repository
46-
uses: actions/checkout@v3
46+
uses: actions/checkout@v4
4747
with:
4848
fetch-depth: 0
4949

@@ -53,9 +53,9 @@ jobs:
5353
- name: Build DEBs
5454
run: |
5555
git config --global --add safe.directory "$GITHUB_WORKSPACE"
56-
VERSION=$(git describe --match 'v*' | sed -e 's/v//; s/-rc/~rc/; s/-g/+git/; s/-/.post/; s/-/./')
56+
VERSION=$(./genversion.sh --sanitize)
5757
dch --create --package xrootd -v ${VERSION} -M 'XRootD automated build.'
58-
debuild --no-tgz-check --no-sign -b
58+
debuild --no-tgz-check --no-sign -- binary-arch
5959
6060
- name: Install DEBs
6161
run: apt install -y ../*.deb
@@ -66,56 +66,62 @@ jobs:
6666
- name: Move DEBs to Artifact Directory
6767
run: |
6868
source /etc/os-release
69-
mkdir -p DEB/${ID}/${VERSION_CODENAME}
70-
mv ../*.* DEB/${ID}/${VERSION_CODENAME}
69+
mkdir -p debian/${VERSION_CODENAME}
70+
mv ../*.* debian/${VERSION_CODENAME}
7171
7272
- name: Upload Artifacts
73-
uses: actions/upload-artifact@v3
73+
uses: actions/upload-artifact@v4
7474
with:
75-
name: DEB
76-
path: DEB
77-
retention-days: 1
75+
name: debian-${{ matrix.version }}
76+
path: debian
77+
retention-days: 14
7878

7979
ubuntu:
80-
name: Ubuntu (22.04)
81-
runs-on: ubuntu-22.04
80+
name: Ubuntu
81+
82+
strategy:
83+
matrix:
84+
version: [ "22.04", "24.04" ]
85+
86+
runs-on: ubuntu-latest
87+
container: ubuntu:${{ matrix.version }}
8288

8389
steps:
8490
- name: Install development tools
8591
run: |
86-
sudo apt update -qq
87-
sudo apt install -y build-essential devscripts equivs git
92+
apt update -qq
93+
apt install -y build-essential devscripts equivs git
8894
8995
- name: Clone repository
90-
uses: actions/checkout@v3
96+
uses: actions/checkout@v4
9197
with:
9298
fetch-depth: 0
9399

94100
- name: Install XRootD build dependencies
95-
run: mk-build-deps --install --remove -s sudo debian/control <<< yes
101+
run: mk-build-deps --install --remove debian/control <<< yes
96102

97103
- name: Build DEBs
98104
run: |
99105
git config --global --add safe.directory "$GITHUB_WORKSPACE"
100-
VERSION=$(git describe --match 'v*' | sed -e 's/v//; s/-rc/~rc/; s/-g/+git/; s/-/.post/; s/-/./')
106+
VERSION=$(./genversion.sh --sanitize)
101107
dch --create --package xrootd -v ${VERSION} -M 'XRootD automated build.'
102-
debuild --no-tgz-check --no-sign -b
108+
debuild --no-tgz-check --no-sign -- binary-arch
103109
104110
- name: Install DEBs
105-
run: sudo apt install -y ../*.deb
111+
run: apt install -y ../*.deb
106112

107113
- name: Run post-install tests
108114
run: tests/post-install.sh
109115

110116
- name: Move DEBs to Artifact Directory
111117
run: |
112118
source /etc/os-release
113-
mkdir -p DEB/${ID}/${VERSION_CODENAME}
114-
mv ../*.* DEB/${ID}/${VERSION_CODENAME}
119+
mkdir -p ubuntu/${VERSION_CODENAME}
120+
mv ../*.* ubuntu/${VERSION_CODENAME}
115121
116122
- name: Upload Artifacts
117-
uses: actions/upload-artifact@v3
123+
uses: actions/upload-artifact@v4
118124
with:
119-
name: DEB
120-
path: DEB
121-
retention-days: 1
125+
name: ubuntu-${{ matrix.version }}
126+
path: ubuntu
127+
retention-days: 14

.github/workflows/QEMU.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646

4747
steps:
4848
- name: Clone repository
49-
uses: actions/checkout@v3
49+
uses: actions/checkout@v4
5050
with:
5151
fetch-depth: 0
5252

0 commit comments

Comments
 (0)