-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #95 from DrDaveD/add-ci
Add ci checks, fix el7 epel, update to 4.41
- Loading branch information
Showing
8 changed files
with
166 additions
and
4 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: Make distributions and test | ||
|
||
on: | ||
# run workflows on main master and release/** branches | ||
push: | ||
branches: | ||
- main | ||
- master | ||
- release/** | ||
# run workflows on pull requests against the same branches | ||
pull_request: | ||
branches: | ||
- main | ||
- master | ||
- release/** | ||
|
||
# automatically cancel redundant builds | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
makeandtest: | ||
name: ${{ matrix.distro }}:${{ matrix.version }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- distro: eurolinux/centos-7 | ||
version: latest | ||
- distro: rockylinux | ||
version: 8 | ||
- distro: rockylinux | ||
version: 9 | ||
- distro: opensuse/leap | ||
version: 15 | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- name: Get source code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Run make-and-test under docker | ||
run: ./ci/docker-run ${{ matrix.distro }}:${{ matrix.version }} |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#!/bin/bash -e | ||
# Run docker as shown at | ||
# https://djw8605.github.io/2016/05/03/building-centos-packages-on-travisci/ | ||
# | ||
# This more complicated setup is needed for github actions too because | ||
# they do not provide a mechanism for reliably enabling user namespaces. | ||
# Github actions does at least start a VM with docker already running. | ||
|
||
# Assumes running on Ubuntu 24+ | ||
|
||
DOCKER_HUB_URI="$1" | ||
docker pull "$DOCKER_HUB_URI" | ||
|
||
DOCKER_CONTAINER_NAME="test_${OS_TYPE##*/}_${OS_VERSION//./_}" | ||
|
||
set -x | ||
docker run --privileged --network=host -v "$(pwd):/source:rw" \ | ||
-e DOCKER_HUB_URI="$DOCKER_HUB_URI" \ | ||
--name "$DOCKER_CONTAINER_NAME" "$DOCKER_HUB_URI" /bin/bash -exc \ | ||
"cd /source && ./ci/privileged-run" | ||
|
||
docker ps -a | ||
docker stop "$DOCKER_CONTAINER_NAME" | ||
docker rm -v "$DOCKER_CONTAINER_NAME" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#!/bin/bash | ||
# Now running as an unprivileged user with user namespaces enabled in a | ||
# container and required packages installed. Make distributions and test. | ||
|
||
. /etc/os-release | ||
|
||
set -ex | ||
for DIST in default osg egi; do | ||
if [ "$DIST" = egi ] && [[ "$VERSION_ID" != 7* ]]; then | ||
# egi not yet supported for el8 or el9 | ||
continue | ||
fi | ||
rm -rf dist /tmp/cvmfsexec | ||
: test makedist | ||
./makedist $DIST | ||
: test mode 3 | ||
./cvmfsexec atlas.cern.ch -- ls /cvmfs/atlas.cern.ch/repo | ||
: test self-extracting distribution | ||
./makedist -o /tmp/cvmfsexec | ||
/tmp/cvmfsexec atlas.cern.ch -- ls /cvmfs/atlas.cern.ch/repo | ||
./makedist -o /tmp/cvmfsexec | ||
: test mode 1 | ||
rm -rf dist/var/lib/cvmfs/shared | ||
./mountrepo `cd dist/cvmfs; echo *config*` | ||
./mountrepo atlas.cern.ch | ||
ls dist/cvmfs/atlas.cern.ch/repo | ||
if [[ "$ID" == *suse* ]]; then | ||
# the sle15 cvmfs suse build as of 2.11.5 does not support fuse3 | ||
./umountrepo -a | ||
continue | ||
fi | ||
: test mode 4 | ||
if [ ! -d apptainer ]; then | ||
# get singularity or apptainer from oasis cvmfs | ||
./mountrepo oasis.opensciencegrid.org | ||
if [[ "$VERSION_ID" == 7* ]]; then | ||
APPT=dist/cvmfs/oasis.opensciencegrid.org/mis/singularity/current | ||
else | ||
APPT=dist/cvmfs/oasis.opensciencegrid.org/mis/apptainer/current | ||
fi | ||
mkdir apptainer | ||
cp -r $APPT/`arch` $APPT/bin apptainer | ||
fi | ||
./umountrepo -a | ||
rm -rf dist /tmp/cvmfsexec | ||
./makedist -s $DIST | ||
./makedist -s -o /tmp/cvmfsexec | ||
SINGCVMFS_REPOSITORIES=atlas.cern.ch PATH=$PATH:$PWD/apptainer/bin \ | ||
./singcvmfs exec -cip docker://$DOCKER_HUB_URI ls /cvmfs/atlas.cern.ch/repo | ||
if [[ "$VERSION_ID" == 8* ]]; then | ||
: try to at least make other supported architecture distributions | ||
for arch in aarch64 ppc64le; do | ||
rm -rf dist /tmp/cvmfsexec | ||
./makedist -m rhel8-$arch $DIST | ||
./makedist -o /tmp/cvmfsexec | ||
rm -rf dist /tmp/cvmfsexec | ||
./makedist -s -m rhel8-$arch $DIST | ||
./makedist -s -o /tmp/cvmfsexec | ||
done | ||
fi | ||
done |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/bin/bash | ||
# Running in a privileged container. Install required packages and | ||
# switch to an unprivileged user to run the tests. | ||
|
||
set -ex | ||
if [ -f /usr/bin/zypper ]; then | ||
# suse | ||
zypper install -y tar gzip openssl-1_1 fuse fuse3 | ||
else | ||
# rhel | ||
yum install -y procps-ng cpio findutils fuse fuse3 | ||
if [[ $DOCKER_HUB_URI == *:8 ]]; then | ||
yum install -y yum-utils | ||
fi | ||
fi | ||
|
||
# because host kernel is Ubuntu 24+, this enables user namespaces | ||
sysctl kernel.apparmor_restrict_unprivileged_userns=0 | ||
|
||
# switch to an unprivileged user | ||
useradd -u 1000 --create-home -s /bin/bash testuser | ||
# leave .git as original owner for post job cleanup | ||
chown testuser . | ||
chown -R testuser * | ||
su testuser -c ci/make-and-test |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,7 +9,7 @@ | |
#set -x | ||
#PS4='c$$+ ' | ||
|
||
VERSION=4.40 | ||
VERSION=4.41 | ||
|
||
usage() | ||
{ | ||
|
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
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