-
Notifications
You must be signed in to change notification settings - Fork 51
73 lines (60 loc) · 2.25 KB
/
slurm.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: Test SnakemakeProfiles/slurm
env:
SNAKEMAKE_IMAGE: quay.io/biocontainers/snakemake:7.30.1--hdfd78af_0
SLURM_IMAGE: giovtorres/docker-centos7-slurm:20.11.8
DOCKER_COMPOSE: tests/docker-compose.yaml
on: [push, pull_request]
jobs:
slurmtest:
name: Test slurm profile in docker containers
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repository
uses: actions/checkout@v3
- run: mkdir -p ~/image-cache
- name: cache conda environment
uses: actions/cache@v3
env:
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('conda-linux-64.lock') }}
- name: cache images
uses: actions/cache@v3
id: cache-images
env:
CACHE_NUMBER: 0
with:
path: ~/image-cache
key: image-cache-${{ runner.os }}-${{ env.CACHE_NUMBER }}-${{ env.SNAKEMAKE_IMAGE }}-${{ env.SLURM_IMAGE }}
- name: install miniconda
uses: conda-incubator/setup-miniconda@v2
with:
miniconda-version: "latest"
environment-file: conda-linux-64.lock
use-only-tar-bz2: true
- name: docker swarm init
run: docker swarm init
- if: steps.cache-images.outputs.cache-hit == 'true'
run: docker load -i ~/image-cache/snakemake.tar
- if: steps.cache-images.outputs.cache-hit == 'true'
run: docker load -i ~/image-cache/slurm.tar
- name: docker deploy
shell: bash -l {0}
env:
DOCKER_COMPOSE: ${{ env.DOCKER_COMPOSE }}
SNAKEMAKE_IMAGE: ${{ env.SNAKEMAKE_IMAGE }}
SLURM_IMAGE: ${{ env.SLURM_IMAGE }}
run: ./tests/deploystack.sh
- if: steps.cache-images.outputs.cache-hit != 'true'
run: docker save -o ~/image-cache/snakemake.tar ${{ env.SNAKEMAKE_IMAGE }}
- if: steps.cache-images.outputs.cache-hit != 'true'
run: docker save -o ~/image-cache/slurm.tar ${{ env.SLURM_IMAGE }}
- name: run tests
shell: bash -l {0}
run: |
pytest -v -s tests/test_cookie.py
pytest -v -s tests/test_utils.py
pytest -v -s tests/test_slurm.py --slow
pytest -v -s tests/test_sidecar.py