-
Notifications
You must be signed in to change notification settings - Fork 11
/
.gitlab-ci.yml
89 lines (83 loc) · 3.12 KB
/
.gitlab-ci.yml
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
variables:
GIT_SUBMODULE_STRATEGY: recursive
docker_base:
image: docker:stable
stage: build
services:
- docker:dind
before_script:
- echo "$CI_JOB_TOKEN" | docker login -u gitlab-ci-token --password-stdin "$CI_REGISTRY"
script:
- docker pull "$CI_REGISTRY_IMAGE":base || true
- docker build --cache-from "$CI_REGISTRY_IMAGE":base -t "$CI_REGISTRY_IMAGE":base -f Dockerfile.base .
- docker push "$CI_REGISTRY_IMAGE":base
only:
changes:
- Dockerfile.base
- install_r_packages.R
test:
image: registry.gitlab.com/transipedia/dekupl-run:base
stage: test
script:
- cp /usr/local/bin/computeNF $CI_PROJECT_DIR/bin
- cp /usr/local/bin/joinCounts $CI_PROJECT_DIR/bin
- cp /usr/local/bin/mergeTags $CI_PROJECT_DIR/bin
- cp /usr/local/bin/TtestFilter $CI_PROJECT_DIR/bin
- cp /usr/local/bin/kallisto $CI_PROJECT_DIR/bin
- snakemake --configfile tests/config_transcript_to_gene_mapping.json
- snakemake --configfile tests/config_ttest.json
- snakemake --configfile tests/config_deseq2.json
- snakemake --configfile tests/config_limma-voom.json
- snakemake -n --configfile tests/config_samples_sheet.json
delivery-conda:
image: continuumio/miniconda3:4.5.11
stage: deploy
only:
- tags
script:
- apt-get update -q -y
- apt-get install -y build-essential
- conda config --set always_yes yes --set changeps1 no
- conda config --add default_channels https://repo.anaconda.com/pkgs/pro
- conda config --add default_channels https://repo.anaconda.com/pkgs/free
- conda config --add default_channels https://repo.anaconda.com/pkgs/main
- conda config --add channels conda-forge
- conda config --add channels defaults
- conda config --add channels bioconda
- conda create -n build anaconda-client conda-build
- source activate build
- conda info -a
- conda build --user transipedia --token $ANACONDA_TOKEN recipe
test-conda:
image: continuumio/miniconda3:4.5.11
stage: test-deploy
only:
- tags
script:
- apt-get update -q -y
- apt-get install -y build-essential
- conda config --set always_yes yes --set changeps1 no
- conda create -n dekupl --override-channels -c transipedia -c bioconda -c conda-forge -c https://repo.anaconda.com/pkgs/main -c https://repo.anaconda.com/pkgs/free -c https://repo.anaconda.com/pkgs/pro dekupl-run
- source activate dekupl
- conda info -a
- dekupl-run --configfile tests/config_transcript_to_gene_mapping.json
- dekupl-run --configfile tests/config_ttest.json
- dekupl-run --configfile tests/config_deseq2.json
- dekupl-run --configfile tests/config_limma-voom.json
- dekupl-run -n --configfile tests/config_samples_sheet.json
delivery-docker:
image: docker:latest
services:
- docker:dind
stage: deploy
only:
- tags
script:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker build --pull --cache-from transipedia/dekupl-run -t transipedia/dekupl-run -t transipedia/dekupl-run:$CI_COMMIT_REF_NAME .
- docker push transipedia/dekupl-run
stages:
- build
- test
- deploy
- test-deploy