Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions .github/workflows/build-test-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,18 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
image: ['centos:centos7']
image: ['centos:centos7', 'rockylinux:8', 'quay.io/centos/centos:stream8']
components: ['udt,myproxy,ssh', 'gram5']
# Ignore UDT for the CentOS Stream 9 case because libnice is not available there yet
include:
- image: 'quay.io/centos/centos:stream9'
components: 'myproxy,ssh'
- image: 'quay.io/centos/centos:stream9'
components: 'gram5'
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0

- name: build/test on ${{ matrix.image }} with ${{ matrix.components }}
env:
Expand All @@ -25,14 +33,21 @@ jobs:
run: travis-ci/setup_tasks.sh

- name: build source tarballs and srpms
# Only run this step for the centos:centos7 case and for only one component selection
if: |
contains(matrix.image , 'centos:centos7') &&
contains(matrix.components , 'udt,myproxy,ssh')
env:
IMAGE: centos:centos7
TASK: srpms
run: travis-ci/setup_tasks.sh

# SSH key recipe from https://www.webfactory.de/blog/use-ssh-key-for-private-repositories-in-github-actions
- name: Establish ssh and upload source tarballs
if: contains(github.ref , 'refs/tags/')
# Only run this step for the centos:centos7 case
if: |
contains(matrix.image , 'centos:centos7') &&
contains(github.ref , 'refs/tags/')
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
Expand Down
54 changes: 46 additions & 8 deletions travis-ci/run_task_inside_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,34 @@ COMPONENTS=${3-}
set -e

case $(</etc/redhat-release) in
CentOS*\ 6*) OS=centos6 ;;
CentOS*\ 7*) OS=centos7 ;;
Fedora*\ 26*) OS=fedora26 ;;
Fedora*\ 27*) OS=fedora27 ;;
CentOS\ Stream*\ 8*) OS=centos-stream-8;;
CentOS\ Stream*\ 9*) OS=centos-stream-9;;
Rocky\ Linux*\ 8*) OS=rockylinux8 ;;
*) OS=unknown ;;
esac

# EPEL required for UDT
case $OS in
centos6) yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# from `https://docs.fedoraproject.org/en-US/epel/#_quickstart`
centos7) yum -y install epel-release
;;
centos7) yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rockylinux8)
dnf -y install dnf-plugins-core
dnf config-manager --set-enabled powertools
dnf -y install epel-release
;;
centos-stream-8)
dnf -y install dnf-plugins-core
dnf config-manager --set-enabled powertools
dnf -y install epel-release epel-next-release
;;
centos-stream-9)
dnf -y install dnf-plugins-core
dnf config-manager --set-enabled crb
dnf -y install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
;;
esac

Expand All @@ -31,7 +47,26 @@ packages=(gcc gcc-c++ make autoconf automake libtool \
libtool-ltdl-devel openssl openssl-devel git \
'perl(Test)' 'perl(Test::More)' 'perl(File::Spec)' \
'perl(URI)' file sudo bison patch curl \
pam pam-devel libedit libedit-devel)
pam pam-devel libedit libedit-devel )

if [[ $OS != centos7 ]]; then

# provides `cmp` used by `packaging/git-dirt-filter`
packages+=(diffutils)
if [[ $OS == centos-stream-9 ]]; then

# also install "zlib zlib-devel" because it's needed for `configure`ing
# "gridftp/server/src"
packages+=(zlib zlib-devel)
# "perl-English" isn't installed by default, so install it explicitly,
# because needed for "gridmap-tools-test.pl"
packages+=(perl-English)
# "perl-Sys-Hostname" isn't installed by default, so install it explicitly,
# because needed for globus_ftp_client test scripta.
# see https://github.com/fscheiner/gct/runs/5144915195?check_suite_focus=true#step:3:15649
packages+=(perl-Sys-Hostname)
fi
fi

if [[ $TASK == tests ]]; then
set +e
Expand Down Expand Up @@ -61,8 +96,11 @@ elif [[ $TASK == *rpms ]]; then
packages+=(pam libedit libedit-devel)
fi


yum -y -d1 install "${packages[@]}"
if [[ $OS == centos7 ]]; then
yum -y -d1 install "${packages[@]}"
else
dnf --allowerasing -y -d1 install "${packages[@]}"
fi

# UID of travis user inside needs to match UID of travis user outside
getent passwd travis > /dev/null || useradd travis -u $TRAVISUID -o
Expand Down