forked from epi2me-labs/wf-single-cell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
73 lines (66 loc) · 5.46 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
# Include shared CI
include:
- project: "epi2melabs/ci-templates"
file: "wf-containers.yaml"
variables:
# Workflow inputs given to nextflow.
# The workflow should define `--out_dir`, the CI template sets this.
# Only common file inputs and option values need to be given here
# (not things such as -profile)
CI_FLAVOUR: "new"
NF_BEFORE_SCRIPT: "mkdir -p ${CI_PROJECT_NAME}/data/ && wget -O ${CI_PROJECT_NAME}/data/test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-single-cell/v2.2.0_test_data.tar.gz && tar -xzvf ${CI_PROJECT_NAME}/data/test_data.tar.gz -C ${CI_PROJECT_NAME}/data/ "
NF_WORKFLOW_OPTS: "-executor.\\$$local.memory 32GB --threads 4 --fastq ${CI_PROJECT_NAME}/data/test_data/fastq/ --fastq_chunk 2500 --single_cell_sample_sheet ${CI_PROJECT_NAME}/data/test_data/samples.test.csv --ref_genome_dir ${CI_PROJECT_NAME}/data/test_data/refdata-gex-GRCh38-2020-A --matrix_min_genes 1 --matrix_min_cells 1 --matrix_max_mito 100"
docker-run:
artifacts:
when: always
exclude: []
parallel:
matrix:
- MATRIX_NAME: [
"standard",
"no_fl_filtering",
"integration-test",
"bam-input",
"visium",
]
rules:
# NOTE As we're overriding the rules block for the included docker-run
# we must redefine this CI_COMMIT_BRANCH rule to prevent docker-run
# being incorrectly scheduled for "detached merge request pipelines" etc.
- if: ($CI_COMMIT_BRANCH == null || $CI_COMMIT_BRANCH == "dev-template")
when: never
- if: $MATRIX_NAME == 'standard'
variables:
NF_BEFORE_SCRIPT: "mkdir -p ${CI_PROJECT_NAME}/data/ && wget -O ${CI_PROJECT_NAME}/data/test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-single-cell/v2.2.0_test_data.tar.gz && tar -xzvf ${CI_PROJECT_NAME}/data/test_data.tar.gz -C ${CI_PROJECT_NAME}/data/"
NF_WORKFLOW_OPTS: "-executor.\\$$local.memory 32GB --threads 4 --fastq ${CI_PROJECT_NAME}/data/test_data/fastq/ --fastq_chunk 2500 --single_cell_sample_sheet ${CI_PROJECT_NAME}/data/test_data/samples.test.csv --ref_genome_dir ${CI_PROJECT_NAME}/data/test_data/refdata-gex-GRCh38-2020-A --matrix_min_genes 1 --matrix_min_cells 1 --matrix_max_mito 100"
- if: $MATRIX_NAME == 'no_fl_filtering'
variables:
NF_BEFORE_SCRIPT: "mkdir -p ${CI_PROJECT_NAME}/data/ && wget -O ${CI_PROJECT_NAME}/data/test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-single-cell/v2.2.0_test_data.tar.gz && tar -xzvf ${CI_PROJECT_NAME}/data/test_data.tar.gz -C ${CI_PROJECT_NAME}/data/"
NF_WORKFLOW_OPTS: "-executor.\\$$local.memory 32GB --threads 4 --fastq ${CI_PROJECT_NAME}/data/test_data/fastq/ --fastq_chunk 2500 --full_length_only=false --single_cell_sample_sheet ${CI_PROJECT_NAME}/data/test_data/samples.test.csv --ref_genome_dir ${CI_PROJECT_NAME}/data/test_data/refdata-gex-GRCh38-2020-A --matrix_min_genes 1 --matrix_min_cells 1 --matrix_max_mito 100"
- if: $MATRIX_NAME == "integration-test"
variables:
NF_BEFORE_SCRIPT: "mkdir -p ${CI_PROJECT_NAME}/data/ && wget -O ${CI_PROJECT_NAME}/data/ci_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-single-cell/ci_data.tar.gz && tar -xzvf ${CI_PROJECT_NAME}/data/ci_data.tar.gz -C ${CI_PROJECT_NAME}/data/"
NF_WORKFLOW_OPTS: "-executor.\\$$local.memory 32GB --threads 4 --fastq ${CI_PROJECT_NAME}/data/ci_data/sample1.fq --fastq_chunk 2500 --ref_genome_dir ${CI_PROJECT_NAME}/data/ci_data/10x_ref_chr21_22 --matrix_min_genes 1 --matrix_min_cells 1 --expected_cells 10"
- if: $MATRIX_NAME == "bam-input"
variables:
NF_BEFORE_SCRIPT: "mkdir -p ${CI_PROJECT_NAME}/data/ && wget -O ${CI_PROJECT_NAME}/data/test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-single-cell/v2.2.0_test_data.tar.gz && tar -xzvf ${CI_PROJECT_NAME}/data/test_data.tar.gz -C ${CI_PROJECT_NAME}/data/"
NF_WORKFLOW_OPTS: "-executor.\\$$local.memory 32GB --threads 4 --bam ${CI_PROJECT_NAME}/data/test_data/bam/ --fastq_chunk 2500 --single_cell_sample_sheet ${CI_PROJECT_NAME}/data/test_data/samples.test.csv --ref_genome_dir ${CI_PROJECT_NAME}/data/test_data/refdata-gex-GRCh38-2020-A --matrix_min_genes 1 --matrix_min_cells 1 --matrix_max_mito 100"
- if: $MATRIX_NAME == "visium"
variables:
NF_BEFORE_SCRIPT: "mkdir -p ${CI_PROJECT_NAME}/data/ && wget -O ${CI_PROJECT_NAME}/data/test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-single-cell/v2.2.0_test_data.tar.gz && tar -xzvf ${CI_PROJECT_NAME}/data/test_data.tar.gz -C ${CI_PROJECT_NAME}/data/"
NF_WORKFLOW_OPTS: "-executor.\\$$local.memory 32GB --threads 4 --fastq ${CI_PROJECT_NAME}/data/test_data/visium_fastq --fastq_chunk 2500 --kit visium:v1 --ref_genome_dir ${CI_PROJECT_NAME}/data/test_data/refdata-gex-GRCm39-2024-A --matrix_min_genes 1 --matrix_min_cells 1 --matrix_max_mito 100"
macos-run:
# Let's avoid those ARM64 runners for now
tags:
- macos
- x86
integration_test:
extends: .setup-alpine-nextflow
dependencies: ["docker-run: [integration-test]"]
stage: post-test
script:
- echo "ls" && ls
- ls wf-single-cell
- SHA=$(./nextflow config -properties|grep ${PYTEST_CONTAINER_CONFIG_KEY}|awk -F= '{print $2}')
- IMAGE="${DOCKERHUB_NAMESPACE}/${CI_PROJECT_NAME}:${SHA}"
- docker run -u $(id -u) -v ${PWD}:/host $IMAGE pytest /host/test/workflow_integration.py;