Skip to content

Commit db72e07

Browse files
committed
ci: add GitHub Actions workflow for runtime tests
Add automated runtime testing that runs on every push and pull request: - Tests Slurm 24.11 on Ubuntu 25.04 (plucky) - Uses Docker Buildx with GitHub Actions caching - Runs full integration test suite with live Slurm cluster - Validates plugin installation, job execution, and containerized workloads Updates documentation and adds Runtime Tests badge to README.
1 parent 9b31988 commit db72e07

File tree

3 files changed

+56
-4
lines changed

3 files changed

+56
-4
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Runtime Tests
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
runtime-test:
14+
name: Slurm ${{ matrix.slurm }}
15+
runs-on: ubuntu-latest
16+
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
include:
21+
- ubuntu_version: plucky
22+
slurm: 24.11
23+
24+
steps:
25+
- uses: actions/checkout@v4
26+
27+
- name: Set up Docker Buildx
28+
uses: docker/setup-buildx-action@v3
29+
30+
- name: Run runtime integration tests
31+
run: |
32+
cd tests/runtime
33+
UBUNTU_VERSION=${{ matrix.ubuntu_version }} ./run-tests.sh
34+
env:
35+
UBUNTU_VERSION: ${{ matrix.ubuntu_version }}
36+
BUILDX_CACHE_FROM: type=gha,scope=${{ matrix.ubuntu_version }}
37+
BUILDX_CACHE_TO: type=gha,mode=max,scope=${{ matrix.ubuntu_version }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Slurm Singularity SPANK Plugin
22

3-
[![Build](https://github.com/GSI-HPC/slurm-singularity-exec/actions/workflows/build.yml/badge.svg)](https://github.com/GSI-HPC/slurm-singularity-exec/actions/workflows/build.yml) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10719223.svg)](https://doi.org/10.5281/zenodo.10719223)
3+
[![Build](https://github.com/GSI-HPC/slurm-singularity-exec/actions/workflows/build.yml/badge.svg)](https://github.com/GSI-HPC/slurm-singularity-exec/actions/workflows/build.yml) [![Runtime Tests](https://github.com/GSI-HPC/slurm-singularity-exec/actions/workflows/runtime-tests.yml/badge.svg)](https://github.com/GSI-HPC/slurm-singularity-exec/actions/workflows/runtime-tests.yml) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10719223.svg)](https://doi.org/10.5281/zenodo.10719223)
44

55
The Singularity SPANK plugin provides the users with an interface to launch an
66
application within a Linux container. The plug-in adds multiple command-line

tests/README.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,26 @@ bats test_wrapper.bats
4646
- Error handling (missing files, invalid paths, special characters)
4747
- Command construction (argument ordering, bind mount syntax, environment propagation)
4848

49+
## Runtime Integration Tests
50+
51+
Runtime tests verify the plugin works with actual Slurm daemons:
52+
53+
```bash
54+
cd tests/runtime
55+
./run-tests.sh
56+
```
57+
58+
See [runtime/README.md](runtime/README.md) for detailed documentation on the Docker Compose architecture, test flow, and troubleshooting.
59+
4960
## Continuous Integration
5061

51-
GitHub Actions tests on every push/PR with:
52-
- Slurm 23.11 (Ubuntu 24.04 Noble)
53-
- Slurm 24.11 (Ubuntu 25.04 Plucky)
62+
GitHub Actions runs tests on every push/PR:
63+
64+
| Test Type | Slurm Version | Ubuntu Version | Description |
65+
|-----------|---------------|----------------|-------------|
66+
| Build | 23.11 | 24.04 Noble | Compile-time compatibility check |
67+
| Build | 24.11 | 25.04 Plucky | Compile-time compatibility check |
68+
| Runtime | 24.11 | 25.04 Plucky | Full integration tests with live cluster |
5469

5570
## Writing Tests
5671

0 commit comments

Comments
 (0)