Make CMAKE_CXX_STANDARD a CACHE variable #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"))' |