.gitlab-ci.yml 1.61 KB
Newer Older
Sander Bollen's avatar
Sander Bollen committed
1
2
3
variables:
  GIT_SUBMODULE_STRATEGY: recursive

Sander Bollen's avatar
Sander Bollen committed
4
5
6
7
.docker_before_script_anchor: &docker_before_script_anchor
  before_script:
    - pip install -r requirements.txt
    - pip install -r requirements-dev.txt
Sander Bollen's avatar
Sander Bollen committed
8

Sander Bollen's avatar
Sander Bollen committed
9
10
11
12
stages:
  - sanity
  - dry-run
  - integration
Sander Bollen's avatar
Sander Bollen committed
13
  - functional
Sander Bollen's avatar
Sander Bollen committed
14
15

test_sanities:
Sander Bollen's avatar
Sander Bollen committed
16
  <<: *docker_before_script_anchor
Sander Bollen's avatar
Sander Bollen committed
17
  script:
Sander Bollen's avatar
Sander Bollen committed
18
    - py.test --tag sanity
Sander Bollen's avatar
Sander Bollen committed
19
  image: python:3.6-stretch
Sander Bollen's avatar
Sander Bollen committed
20
21
  tags:
    - docker
Sander Bollen's avatar
Sander Bollen committed
22
  stage: sanity
Sander Bollen's avatar
Sander Bollen committed
23
24

test_dry_run:
Sander Bollen's avatar
Sander Bollen committed
25
  <<: *docker_before_script_anchor
Sander Bollen's avatar
Sander Bollen committed
26
27
  script:
    - py.test --tag dry-run
Sander Bollen's avatar
Sander Bollen committed
28
  image: python:3.6-stretch
Sander Bollen's avatar
Sander Bollen committed
29
30
  tags:
    - docker
Sander Bollen's avatar
Sander Bollen committed
31
32
  stage: dry-run

Sander Bollen's avatar
Sander Bollen committed
33

Sander Bollen's avatar
Sander Bollen committed
34
35
# this requires a priviliged docker container.
# most docker runners will not do this
Sander Bollen's avatar
Sander Bollen committed
36
test_integration_singularity:
Sander Bollen's avatar
Sander Bollen committed
37
  before_script:
Sander Bollen's avatar
Sander Bollen committed
38
    - apt-get update && apt-get install -y python3-pip
Sander Bollen's avatar
Sander Bollen committed
39
    - pip3 install pyfaidx
Sander Bollen's avatar
pip3    
Sander Bollen committed
40
    - pip3 install -r requirements-dev.txt
Sander Bollen's avatar
Sander Bollen committed
41
42
  script:
    - py.test --tag singularity-integration
Sander Bollen's avatar
Sander Bollen committed
43
  image: lumc/singularity-snakemake:3.0.3-5.4.0
Sander Bollen's avatar
Sander Bollen committed
44
45
  tags:
    - docker
Sander Bollen's avatar
Sander Bollen committed
46
  stage: integration
Sander Bollen's avatar
Sander Bollen committed
47

Sander Bollen's avatar
Sander Bollen committed
48
49
50
51
52
53
54
test_integration:
  before_script:
    - export BASETEMP=$(mktemp -p ${RUN_BASE_DIR} -d)
  script:
    - source ${CONDA_SH}
    - conda activate hutspot-pipeline
    - export PATH=${PATH}:${CONDA_EXTRA_PATH}
Sander Bollen's avatar
Sander Bollen committed
55
    - py.test --tag integration --basetemp ${BASETEMP} --keep-workflow-wd
Sander Bollen's avatar
Sander Bollen committed
56
57
  tags:
    - slurm
Sander Bollen's avatar
Sander Bollen committed
58
  stage: integration
Sander Bollen's avatar
Sander Bollen committed
59
60
61
62
63
64
65

test_functional:
  before_script:
    - export BASETEMP=$(mktemp -p ${RUN_BASE_DIR} -d)
  script:
    - source ${CONDA_SH}
    - conda activate hutspot-pipeline
Sander Bollen's avatar
Sander Bollen committed
66
    - export PATH=${PATH}:${CONDA_EXTRA_PATH}
Sander Bollen's avatar
Sander Bollen committed
67
68
69
70
71
72
    - py.test --tag functional --basetemp ${BASETEMP} --keep-workflow-wd
  tags:
    - slurm
  stage: functional
  only:
    - schedules