Skip to content

Commit 0a4f630

Browse files
committed
Naive attempt at converting Travis -> Github Actions
1 parent a525b9a commit 0a4f630

2 files changed

Lines changed: 63 additions & 50 deletions

File tree

.github/workflows/slurm-drmaa.yaml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: slurm-drmaa
2+
#on: [push, pull_request]
3+
on: [pull_request]
4+
jobs:
5+
functional:
6+
name: Functional Tests
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
matrix:
10+
os: [ubuntu-latest]
11+
include:
12+
- os: ubuntu-latest
13+
docker_image: centos:7
14+
slurm_version: 18.08
15+
- os: ubuntu-latest
16+
docker_image: centos:7
17+
slurm_version: 19.05
18+
- os: ubuntu-latest
19+
docker_image: centos:7
20+
slurm_version: 20.02
21+
- os: ubuntu-latest
22+
docker_image: centos:7
23+
slurm_version: 20.11
24+
- os: ubuntu-latest
25+
docker_image: debian:buster
26+
slurm_version: apt
27+
env:
28+
DOCKER_IMAGE: ${{ matrix.docker_image }}
29+
SLURM_VERSION: ${{ matrix.slurm_version }}
30+
steps:
31+
- uses: actions/checkout@v2
32+
with:
33+
submodules: true
34+
- name: Fetch bats
35+
run: git clone https://github.com/bats-core/bats-core.git/ .ci/bats
36+
- name: Install autogen dependencies
37+
run: sudo apt-get install -y gperf ragel bison
38+
- name: Run autogen
39+
run: sh autogen.sh
40+
- name: Configure drmaa_utils
41+
run: cd drmaa_utils && ./configure
42+
- name: Build drmaa_utils
43+
run: make -C drmaa_utils/drmaa_utils conf_tab.c conf_tab.h datetime_tab.c datetime_tab.h drmaa_attrib.c timedelta.c
44+
- name: Clean drmaa_utils
45+
run: make -C drmaa_utils distclean
46+
- name: Build Docker image
47+
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
48+
- name: Run ./configure
49+
run: docker run --volume $(pwd):$(pwd) --workdir $(pwd) --user $(id -u):$(id -g) ci/$DOCKER_IMAGE ./configure --prefix=/ci
50+
- name: Run make install
51+
run: docker run --volume $(pwd):$(pwd) --volume $(pwd)/.ci:/ci --workdir $(pwd) --user $(id -u):$(id -g) ci/$DOCKER_IMAGE make install
52+
- name: Run Slurm
53+
run: echo cid=$(docker run --volume $(pwd):$(pwd) --volume $(pwd)/.ci:/ci --detach ci/$DOCKER_IMAGE /runslurm.sh) >> $GITHUB_ENV
54+
- name: Wait for slurmctld
55+
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
56+
- name: Node info
57+
run: docker exec $cid scontrol show node localhost
58+
- name: Partition info
59+
run: docker exec $cid scontrol show partition debug
60+
- name: Log failure
61+
run: if [ $slurmctld_attempt -eq 29 ]; then echo "[slurmctld.log]"; cat .ci/slurmctld.log; echo "[slurmd.log]"; cat .ci/slurmd.log; exit 1; fi
62+
- name: Run tests
63+
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; }

.travis.yml

Lines changed: 0 additions & 50 deletions
This file was deleted.

0 commit comments

Comments
 (0)