Changes to build against Slurm 24.11 #43
Workflow file for this run
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: slurm-drmaa | |
#on: [push, pull_request] | |
on: [pull_request] | |
jobs: | |
functional: | |
name: Functional Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-latest | |
docker_image: rockylinux:8 | |
slurm_version: 20.11 | |
- os: ubuntu-latest | |
docker_image: rockylinux:8 | |
slurm_version: 21.08 | |
- os: ubuntu-latest | |
docker_image: rockylinux:8 | |
slurm_version: 22.05 | |
- os: ubuntu-latest | |
docker_image: rockylinux:8 | |
slurm_version: 23.02 | |
- os: ubuntu-latest | |
docker_image: rockylinux:8 | |
slurm_version: 23.11 | |
- os: ubuntu-latest | |
docker_image: rockylinux:8 | |
slurm_version: 24.05 | |
- os: ubuntu-latest | |
docker_image: debian:bookworm | |
slurm_version: 22.05 | |
env: | |
DOCKER_IMAGE: ${{ matrix.docker_image }} | |
SLURM_VERSION: ${{ matrix.slurm_version }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Fetch bats | |
run: git clone https://github.com/bats-core/bats-core.git/ .ci/bats | |
- name: Install autogen dependencies | |
run: sudo apt-get install -y gperf ragel bison | |
- name: Run autogen | |
run: sh autogen.sh | |
- name: Configure drmaa_utils | |
run: cd drmaa_utils && ./configure | |
- name: Build drmaa_utils | |
run: make -C drmaa_utils/drmaa_utils conf_tab.c conf_tab.h datetime_tab.c datetime_tab.h drmaa_attrib.c timedelta.c | |
- name: Clean drmaa_utils | |
run: make -C drmaa_utils distclean | |
- name: Build Docker image | |
run: docker build --build-arg from=$DOCKER_IMAGE --build-arg uid=$(id -u) --build-arg gid=$(id -g) --build-arg version=$SLURM_VERSION -t ci/$DOCKER_IMAGE -f .ci/Dockerfile .ci | |
- name: Run ./configure | |
run: docker run --volume $(pwd):$(pwd) --workdir $(pwd) --user $(id -u):$(id -g) ci/$DOCKER_IMAGE ./configure --prefix=/ci | |
- name: Run make install | |
run: docker run --volume $(pwd):$(pwd) --volume $(pwd)/.ci:/ci --workdir $(pwd) --user $(id -u):$(id -g) ci/$DOCKER_IMAGE make install | |
- name: Run Slurm | |
run: echo cid=$(docker run -e SLURM_VERSION --volume $(pwd):$(pwd) --volume $(pwd)/.ci:/ci --detach ci/$DOCKER_IMAGE /runslurm.sh) >> $GITHUB_ENV | |
- name: Wait for slurmctld | |
run: for i in {0..29}; do [ "$(docker exec $cid sinfo --noheader --nodes=localhost --format=%t --responding --states=IDLE)" == "idle" ] && break || { echo "waiting for slurmctld..."; sleep 1; }; done; echo slurmctld_attempt=$i >> $GITHUB_ENV | |
- name: Node info | |
run: docker exec $cid scontrol show node localhost | |
- name: Partition info | |
run: docker exec $cid scontrol show partition debug | |
- name: Log failure | |
run: if [ $slurmctld_attempt -eq 29 ]; then echo "[slurmdbd.log]"; cat .ci/slurmdbd.log; echo "[slurmctld.log]"; cat .ci/slurmctld.log; echo "[slurmd.log]"; cat .ci/slurmd.log; echo "[docker logs]"; docker logs $cid; exit 1; fi | |
- name: Run tests | |
run: docker exec --workdir $(pwd) $cid make check || { echo "[test-suite.log]"; cat test/test-suite.log; echo "[functional-basic.log]"; cat test/functional-basic.log; exit 1; } |