-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path.gitlab-ci.yml
48 lines (41 loc) · 1.54 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
include:
- remote: 'https://gitlab.com/cscs-ci/recipes/-/raw/master/templates/v2/.cscs.yml'
stages:
- build # build stage is running on the Kubernetes cluster
- test # test stage is running on Piz Daint
# variables that apply to all jobs
variables:
PERSIST_IMAGE_NAME_CPU: msolve_mpi_image
VERBOSE: 'YES' # debugging
SARUS_VERBOSE: 'YES' # debugging
# build stage
build_cpu:
tags:
- docker_jfrog
stage: build
script:
# we are using a Dockerfile that contains the real build instructions, this script will be ignored by the docker_jfrog runner if DOCKERFILE is set
- "true"
variables:
PERSIST_IMAGE_NAME: ${PERSIST_IMAGE_NAME_CPU}
DOCKERFILE: mpidocker/Dockerfile
# individual tests
run_non_mpi_test_cpu:
extends: .daint
stage: test
image: art.cscs.ch/contbuild/testing/anfink/${PERSIST_IMAGE_NAME_CPU}
script:
# Paths should always be referenced as absolute paths here, because the working directory will NOT be WORKDIR from the Dockerfile
# The working directory will rather be the git root repository
# There is no need to call mpiexec or srun in any form. The number of nodes/processes is specified via the variables below
# The correct srun command is built by the CI system. All we need to do is to specify the commands that need to be executed
- /mpidocker/runTest.sh
variables:
USE_MPI: 'YES'
SLURM_PARTITION: 'normal'
SLURM_CONSTRAINT: 'gpu'
SLURM_JOB_NUM_NODES: 2
SLURM_NTASKS: 4
PULL_IMAGE: 'YES'
CSCS_REGISTRY_LOGIN: 'YES'
# SLURM_TIMELIMIT: '15:00'