Skip to content

Make CMAKE_CXX_STANDARD a CACHE variable #6

Make CMAKE_CXX_STANDARD a CACHE variable

Make CMAKE_CXX_STANDARD a CACHE variable #6

Workflow file for this run

name: build
on:
push:
pull_request:
schedule:
- cron: '23 1 * * 0'
release:
types: [published]
workflow_dispatch:
defaults:
run:
shell: bash
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
cmake-almalinux8:
runs-on: ubuntu-latest
container: almalinux:8
steps:
- name: Install external dependencies with yum
run: |
dnf update -y
dnf clean all
dnf install -y epel-release
dnf install -y --enablerepo=powertools \
cmake \
cppunit-devel \
curl-devel \
davix-devel \
diffutils \
file \
fuse-devel \
gcc-c++ \
git \
gtest-devel \
json-c-devel \
krb5-devel \
libmacaroons-devel \
libtool \
libuuid-devel \
libxml2-devel \
make \
openssl-devel \
python3-devel \
python3-setuptools \
readline-devel \
scitokens-cpp-devel \
systemd-devel \
tinyxml-devel \
voms-devel \
yasm \
zlib-devel
dnf clean all
- name: Clone repository
uses: actions/checkout@v3
- name: Build with cmake
run: |
cd ..
cmake \
--log-level=DEBUG \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DPython_EXECUTABLE=$(command -v python3) \
-DFORCE_ENABLED=ON \
-DENABLE_TESTS=ON \
-DENABLE_XRDEC=ON \
-DENABLE_MACAROONS=ON \
-DENABLE_SCITOKENS=ON \
-DPIP_OPTIONS="--verbose" \
-S xrootd \
-B build
cmake build -LH
cmake \
--build build \
--clean-first \
--parallel $(($(nproc) - 1))
cmake --build build --target install
python3 -m pip list
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
- name: Run tests with CTest
run: |
ctest --output-on-failure --test-dir ../build
cmake-almalinux9:
runs-on: ubuntu-latest
container: almalinux:9
steps:
- name: Install external dependencies with yum
run: |
dnf update -y
dnf clean all
dnf install -y epel-release
dnf install -y --enablerepo=crb \
cmake \
cppunit-devel \
curl-devel \
davix-devel \
diffutils \
file \
fuse-devel \
gcc-c++ \
git \
gtest-devel \
json-c-devel \
krb5-devel \
libmacaroons-devel \
libtool \
libuuid-devel \
libxml2-devel \
make \
openssl-devel \
python3-devel \
python3-setuptools \
readline-devel \
scitokens-cpp-devel \
systemd-devel \
tinyxml-devel \
voms-devel \
yasm \
zlib-devel
dnf clean all
- name: Clone repository
uses: actions/checkout@v3
- name: Build with cmake
run: |
cd ..
cmake \
--log-level=DEBUG \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DPython_EXECUTABLE=$(command -v python3) \
-DFORCE_ENABLED=ON \
-DENABLE_TESTS=ON \
-DENABLE_XRDEC=ON \
-DENABLE_MACAROONS=ON \
-DENABLE_SCITOKENS=ON \
-DPIP_OPTIONS="--verbose" \
-S xrootd \
-B build
cmake build -LH
cmake \
--build build \
--clean-first \
--parallel $(($(nproc) - 1))
cmake --build build --target install
python3 -m pip list
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
- name: Run tests with CTest
run: |
ctest --output-on-failure --test-dir ../build
cmake-alpine-musl:
runs-on: ubuntu-latest
container: alpine
steps:
- name: Install external dependencies
shell: sh
run: |
apk add \
bash \
cmake \
cppunit-dev \
curl-dev \
fuse-dev \
fuse3-dev \
g++ \
git \
gtest-dev \
json-c-dev \
krb5-dev \
libxml2-dev \
linux-headers \
make \
openssl-dev \
py3-pip \
python3-dev \
readline-dev \
tinyxml-dev \
util-linux-dev \
zlib-dev
- name: Clone repository
uses: actions/checkout@v3
- name: Build with cmake
run: |
cd ..
# need to fix ownership not to confuse git
chown -R -v "$( id -u; ):$( id -g; )" xrootd
cmake \
--log-level=DEBUG \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DPython_EXECUTABLE=$(command -v python3) \
-DFORCE_ENABLED=ON \
-DENABLE_HTTP=OFF \
-DENABLE_TESTS=ON \
-DENABLE_VOMS=OFF \
-DENABLE_XRDEC=OFF \
-DENABLE_XRDCLHTTP=OFF \
-DENABLE_MACAROONS=OFF \
-DENABLE_SCITOKENS=OFF \
-DPIP_OPTIONS="--verbose" \
-S xrootd \
-B build
cmake build -LH
cmake \
--build build \
--clean-first \
--parallel $(($(nproc) - 1))
cmake --build build --target install
python3 -m pip list
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
- name: Run tests with CTest
run: |
ctest --output-on-failure --test-dir ../build
cmake-centos7:
runs-on: ubuntu-latest
container: centos:7
steps:
- name: Install external dependencies with yum
run: |
yum update -y
yum install -y epel-release centos-release-scl
yum clean all
yum install --nogpg -y \
cmake3 \
make \
krb5-devel \
libuuid-devel \
libxml2-devel \
openssl-devel \
systemd-devel \
zlib-devel \
devtoolset-7-gcc-c++ \
python3-devel \
python3-setuptools \
git \
cppunit-devel \
gtest-devel
yum clean all
# Need to use v1 of action as image Git is too old
- name: Clone repository now that Git is available
uses: actions/checkout@v1
- name: Build with cmake
run: |
. /opt/rh/devtoolset-7/enable
cd ..
cmake3 \
--log-level=DEBUG \
-DCMAKE_INSTALL_PREFIX=/usr/local/ \
-DPython_EXECUTABLE=$(command -v python3) \
-DENABLE_TESTS=ON \
-DPIP_OPTIONS="--verbose" \
-S xrootd \
-B build
cmake3 build -LH
cmake3 \
--build build \
--clean-first \
--parallel $(($(nproc) - 1))
cmake3 --build build --target install
python3 -m pip list
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
- name: Run tests with CTest
run: |
cd ../build
ctest3 --output-on-failure
cmake-centos7-updated-python:
runs-on: ubuntu-latest
container: centos:7
steps:
- name: Install external dependencies with yum
run: |
yum update -y
yum install -y epel-release centos-release-scl
yum clean all
yum install --nogpg -y \
cmake3 \
make \
krb5-devel \
libuuid-devel \
libxml2-devel \
openssl-devel \
systemd-devel \
zlib-devel \
devtoolset-7-gcc-c++ \
python3-devel \
python3-setuptools \
git \
cppunit-devel \
gtest-devel
yum clean all
python3 -m pip --no-cache-dir install --upgrade pip setuptools wheel
# Need to use v1 of action as image Git is too old
- name: Clone repository now that Git is available
uses: actions/checkout@v1
# Use extra PIP_OPTIONS strings as example that this is possible.
# N.B.: None of the PIP_OPTIONS are required for this step to work.
- name: Build with cmake
run: |
. /opt/rh/devtoolset-7/enable
cd ..
cmake3 \
--log-level=DEBUG \
-DCMAKE_INSTALL_PREFIX=/usr/local/ \
-DPython_EXECUTABLE=$(command -v python3) \
-DENABLE_TESTS=ON \
-DPIP_OPTIONS="--verbose --force-reinstall --prefix /usr/local/" \
-S xrootd \
-B build
cmake3 build -LH
cmake3 \
--build build \
--clean-first \
--parallel $(($(nproc) - 1))
cmake3 --build build --target install
python3 -m pip list
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
# TODO: Drop once Python 2 support is dropped
cmake-centos7-python2:
runs-on: ubuntu-latest
container: centos:7
steps:
# python2-pip is broken on CentOS so can't upgrade pip, setuptools, or wheel
- name: Install external dependencies with yum
run: |
yum update -y
yum install -y epel-release centos-release-scl
yum clean all
yum install --nogpg -y \
cmake3 \
make \
krb5-devel \
libuuid-devel \
libxml2-devel \
openssl-devel \
systemd-devel \
zlib-devel \
devtoolset-7-gcc-c++ \
python2-pip \
python2-setuptools \
python2-devel \
git \
cppunit-devel \
gtest-devel
yum clean all
# Need to use v1 of action as image Git is too old
- name: Clone repository now that Git is available
uses: actions/checkout@v1
# Deprecated setup.py install will try to install under ${CMAKE_INSTALL_PREFIX}/lib64
# so set CMAKE_INSTALL_PREFIX=/usr/ to make testing easy
- name: Build with cmake
run: |
. /opt/rh/devtoolset-7/enable
cd ..
cmake3 \
--log-level=DEBUG \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DPython_EXECUTABLE=$(command -v python2) \
-DENABLE_TESTS=ON \
-DPIP_OPTIONS="--verbose" \
-DXRD_PYTHON_REQ_VERSION="2.7" \
-S xrootd \
-B build
cmake3 build -LH
cmake3 \
--build build \
--clean-first \
--parallel $(($(nproc) - 1))
cmake3 --build build --target install
python2 -m pip list
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python2 --version
python2 -m pip list
python2 -m pip show xrootd
python2 -c 'import XRootD; print(XRootD)'
python2 -c 'import pyxrootd; print(pyxrootd)'
python2 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
cmake-ubuntu-updated-python:
# Use of sudo as https://github.com/actions/virtual-environments requires it
runs-on: ubuntu-latest
steps:
- name: Install external dependencies with apt-get
run: |
sudo apt-get update -y
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \
g++ \
git \
cmake \
uuid-dev \
dpkg-dev \
libcppunit-dev \
libgtest-dev \
libssl-dev \
libx11-dev \
python3 \
python3-pip \
python3-venv \
python3-dev
sudo apt-get autoclean -y
python3 -m pip --no-cache-dir install --upgrade pip setuptools wheel
- name: Clone repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Build with cmake
run: |
cd ..
cmake \
--log-level=DEBUG \
-DCMAKE_INSTALL_PREFIX=/usr \
-DPython_EXECUTABLE=$(command -v python3) \
-DENABLE_TESTS=ON \
-DPIP_OPTIONS="--verbose" \
-S xrootd \
-B build
cmake build -LH
cmake \
--build build \
--clean-first \
--parallel $(($(nproc) - 1))
sudo cmake --build build --target install
python3 -m pip list
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
cmake-macos:
runs-on: macos-latest
env:
CC: clang
CXX: clang++
CMAKE_ARGS: "-DUSE_SYSTEM_ISAL=TRUE;-DINSTALL_PYTHON_BINDINGS=FALSE"
CMAKE_PREFIX_PATH: /usr/local/opt/openssl@3
steps:
- name: Install dependencies with Homebrew
run: |
brew install cmake cppunit davix googletest isa-l openssl@3 [email protected]
- name: Install Python dependencies with pip
run: |
python3 --version --version
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip list
python3 -m site
- name: Clone repository
uses: actions/checkout@v3
- name: Build and Run Tests with CTest
run: |
# workaround for issue #1772, should be removed when that's fixed
sudo sed -i -e "s/localhost/localhost $(hostname)/g" /etc/hosts
ctest -VV -S test.cmake
- name: Install with CMake
run: cmake --install build
- name: Install Python Bindings
run: python3 -m pip install --verbose --use-pep517 --user build/bindings/python
- name: Run Post-install Tests
run: |
export DYLD_LIBRARY_PATH=/usr/local/lib
xrdcp --version
python3 -c 'import XRootD; print(XRootD);'
python3 -c 'from pyxrootd import client; print(client);'
python3 -c 'from pyxrootd import client; print(client.XrdVersion_cpp())'
python3 -c 'from XRootD import client; print(client.FileSystem("root://localhost:1094"))'
python3 -m pip show xrootd
rpm-centos7:
runs-on: ubuntu-latest
container: centos:7
steps:
- name: Overwrite /etc/yum.repos.d/epel.repo to remove epel-source
run: |
yum install -y epel-release centos-release-scl
head -n -8 /etc/yum.repos.d/epel.repo > /tmp/epel.repo
mv -f /tmp/epel.repo /etc/yum.repos.d/epel.repo
yum clean all
- name: Install external dependencies with yum
run: |
yum update -y
yum install --nogpg -y \
gcc-c++ \
rpm-build \
git \
python-srpm-macros \
centos-release-scl
yum clean all
# Need to use v1 of action as image Git is too old
- name: Clone repository now that Git is available
uses: actions/checkout@v1
- name: Build
run: |
cd packaging/
./makesrpm.sh \
--define "_with_python3 1" \
--define "_with_tests 1" \
--define "_with_xrdclhttp 1" \
--define "_with_scitokens 1" \
--define "_with_isal 1"
yum-builddep --nogpgcheck -y *.src.rpm
mkdir RPMS
rpmbuild --rebuild \
--define "_rpmdir RPMS/" \
--define "_with_python3 1" \
--define "_with_tests 1" \
--define "_with_xrdclhttp 1" \
--define "_with_scitokens 1" \
--define "_with_isal 1" \
--define "_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" \
*.src.rpm
- name: Install
run: |
ls -lh packaging/RPMS/
yum install -y \
./packaging/RPMS/xrootd-*.rpm \
./packaging/RPMS/python3-xrootd-*.rpm
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
- name: Build sdist using publishing workflow
run: |
cp packaging/wheel/* .
./publish.sh
ls -lhtra dist/
rpm-fedora:
runs-on: ubuntu-latest
container: fedora:37
steps:
- name: Install external dependencies with dnf
run: |
dnf update -y
dnf install --nogpg -y \
gcc-c++ \
rpm-build \
tar \
dnf-plugins-core \
git
dnf clean all
- name: Clone repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Build
run: |
# c.f. https://github.com/actions/checkout/issues/760
git config --global --add safe.directory "$GITHUB_WORKSPACE"
cd packaging/
./makesrpm.sh \
--define "_with_python3 1" \
--define "_with_ceph11 1"
dnf builddep --nogpgcheck -y *.src.rpm
mkdir RPMS
rpmbuild --rebuild \
--define "_rpmdir RPMS/" \
--define "_with_python3 1" \
--define "_with_ceph11 1" \
--define "_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" \
*.src.rpm
- name: Install
run: |
ls -lh packaging/RPMS/
dnf install -y \
./packaging/RPMS/xrootd-*.rpm \
./packaging/RPMS/python3-xrootd-*.rpm
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
dpkg-ubuntu:
# Use of sudo as https://github.com/actions/virtual-environments requires it
runs-on: ubuntu-latest
steps:
- name: Install external dependencies with apt-get
run: |
sudo apt-get update -y
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \
g++ \
git \
cmake \
debhelper \
devscripts \
equivs \
gdebi-core
sudo apt-get autoclean -y
- name: Clone repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Build .deb
run: |
mv packaging/debian/python3-xrootd.install.new packaging/debian/python3-xrootd.install
cp -R packaging/debian/ .
mk-build-deps --build-dep debian/control
sudo gdebi -n xrootd-build-deps-depends*.deb
version=`./genversion.sh --print-only`
dch --create -v `echo $version | sed 's/^v\(.*\)/\1/'` --package xrootd --urgency low --distribution $(lsb_release -cs) -M "This package is built and released automatically. For important notices and releases subscribe to our maling lists or visit our website."
dpkg-buildpackage -b -us -uc -tc --buildinfo-option="-udeb_packages" --buildinfo-file="deb_packages/xrootd_$(dpkg-parsechangelog -S version)_$(dpkg-architecture -qDEB_BUILD_ARCH).buildinfo" --changes-option="-udeb_packages" --buildinfo-file="deb_packages/xrootd_$(dpkg-parsechangelog -S version)_$(dpkg-architecture -qDEB_BUILD_ARCH).changes"
- name: Install
run: |
ls -lh deb_packages/*.deb
sudo apt-get install -y \
./deb_packages/libxr*_*.deb \
./deb_packages/xrootd-libs_*.deb \
./deb_packages/xrootd-client*_*.deb \
./deb_packages/xrootd-devel_*.deb \
./deb_packages/xrootd-plugins_*.deb \
./deb_packages/xrootd-server*_*.deb \
./deb_packages/python3-xrootd_*.deb
- name: Verify install
run: |
command -v xrootd
command -v xrdcp
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
sdist-centos7:
runs-on: ubuntu-latest
container: centos:7
steps:
- name: Install external dependencies with yum
run: |
yum update -y
yum install -y epel-release centos-release-scl
yum clean all
yum install --nogpg -y \
cmake3 \
gcc-c++ \
make \
krb5-devel \
libuuid-devel \
libxml2-devel \
openssl-devel \
systemd-devel \
zlib-devel \
devtoolset-7-gcc-c++ \
python3-devel \
python3-setuptools \
git \
tree \
cppunit-devel \
gtest-devel
yum clean all
python3 -m pip --no-cache-dir install wheel
# Need to use v1 of action as image Git is too old
- name: Clone repository now that Git is available
uses: actions/checkout@v1
- name: Build sdist using publishing workflow
run: |
. /opt/rh/devtoolset-7/enable
cp packaging/wheel/* .
./publish.sh
python3 -m pip --verbose install --upgrade ./dist/xrootd-*.tar.gz
python3 -m pip list
- name: Show site-packages layout for XRootD modules
run: |
find $(python3 -c 'import XRootD; import pathlib; print(str(pathlib.Path(XRootD.__path__[0]).parent))') \
-type d \
-iname "*xrootd*" | xargs tree
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
sdist-centos7-updated-python:
runs-on: ubuntu-latest
container: centos:7
steps:
- name: Install external dependencies with yum
run: |
yum update -y
yum install -y epel-release centos-release-scl
yum clean all
yum install --nogpg -y \
cmake3 \
gcc-c++ \
make \
krb5-devel \
libuuid-devel \
libxml2-devel \
openssl-devel \
systemd-devel \
zlib-devel \
devtoolset-7-gcc-c++ \
python3-devel \
python3-setuptools \
git \
tree \
cppunit-devel \
gtest-devel
yum clean all
python3 -m pip --no-cache-dir install --upgrade pip setuptools wheel
# Need to use v1 of action as image Git is too old
- name: Clone repository now that Git is available
uses: actions/checkout@v1
- name: Build sdist using publishing workflow
run: |
. /opt/rh/devtoolset-7/enable
cp packaging/wheel/* .
./publish.sh
python3 -m pip --verbose install --upgrade ./dist/xrootd-*.tar.gz
python3 -m pip list
- name: Show site-packages layout for XRootD modules
run: |
find $(python3 -c 'import XRootD; import pathlib; print(str(pathlib.Path(XRootD.__path__[0]).parent))') \
-type d \
-iname "*xrootd*" | xargs tree
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
sdist-ubuntu:
# Use of sudo as https://github.com/actions/virtual-environments requires it
runs-on: ubuntu-latest
steps:
- name: Install external dependencies with apt-get
run: |
sudo apt-get update -y
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \
g++ \
git \
cmake \
uuid-dev \
dpkg-dev \
libssl-dev \
libx11-dev \
python3 \
python3-pip \
python3-venv \
python3-dev \
pkg-config \
tree
sudo apt-get autoclean -y
# Remove packages with invalid versions which cause sdist build to fail
sudo apt-get remove python3-debian python3-distro-info
python3 -m pip --no-cache-dir install --upgrade pip setuptools wheel
python3 -m pip list
- name: Clone repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Build sdist using publishing workflow
run: |
cp packaging/wheel/* .
./publish.sh
python3 -m pip --verbose install --upgrade ./dist/xrootd-*.tar.gz
python3 -m pip list
- name: Show site-packages layout for XRootD modules
run: |
find $(python3 -c 'import XRootD; import pathlib; print(str(pathlib.Path(XRootD.__path__[0]).parent))') \
-type d \
-iname "*xrootd*" | xargs tree
- name: Verify Python bindings
run: |
python3 --version --version
python3 -m pip list
python3 -m pip show xrootd
python3 -c 'import XRootD; print(XRootD)'
python3 -c 'import pyxrootd; print(pyxrootd)'
python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'