Skip to content

run commands in end2end test worfklow via 'sudo -u easybuild' #46

run commands in end2end test worfklow via 'sudo -u easybuild'

run commands in end2end test worfklow via 'sudo -u easybuild' #46

Workflow file for this run

name: End-to-end test of EasyBuild in different distros
on: [push, pull_request]
jobs:
build_publish:
name: End-to-end test
runs-on: ubuntu-latest
strategy:
matrix:
container:
- centos-7.9
- centos-8.5
- fedora-36
- opensuse-15.4
- rockylinux-8.7
- ubuntu-20.04
- ubuntu-22.04
fail-fast: false
container:
image: ghcr.io/easybuilders/${{ matrix.container }}-amd64
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: download and unpack easyblocks and easyconfigs repositories
run: |
cd $HOME
for pkg in easyblocks easyconfigs; do
curl -OL https://github.com/easybuilders/easybuild-${pkg}/archive/develop.tar.gz
tar xfz develop.tar.gz
rm -f develop.tar.gz
done
- name: Set up environment
shell: bash
run: |
# set environment variables to be used in subsequent steps,
# see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable;
ENV_CMDS="export PATH=$PWD:$PATH; export PYTHONPATH=$PWD:$HOME/easybuild-easyblocks-develop:$HOME/easybuild-easyconfigs-develop"
echo "ENV_CMDS='${ENV_CMDS}'" >> $GITHUB_ENV
- name: Run commands to check test environment
shell: bash
run: |
cmds=(
"whoami"
"pwd"
"env | sort"
"eb --version"
"eb --show-system-info"
"eb --check-eb-deps"
"eb --show-config"
)
for cmd in "${cmds[@]}"; do
echo ">>> $cmd"
sudo -u easybuild bash -l -c "${ENV_CMDS}; $cmd"
done
- name: End-to-end test of installing bzip2 with EasyBuild
shell: bash
run: |
sudo -u easybuild bash -l -c "${ENV_CMDS}; eb bzip2-1.0.8.eb --trace --robot"