1#### 2# This is the share configuration of jobs for quartz 3.on_quartz: 4 tags: 5 - shell 6 - quartz 7 rules: 8 - if: '$CI_COMMIT_BRANCH =~ /_qnone/ || $ON_QUARTZ == "OFF"' #run except if ... 9 when: never 10 - if: '$CI_JOB_NAME =~ /release_resources/' 11 when: always 12 - when: on_success 13 14#### 15# In pre-build phase, allocate a node for builds 16quartz_allocate: 17 variables: 18 GIT_STRATEGY: none 19 extends: [.on_quartz] 20 stage: allocate 21 script: 22 - salloc -p pdebug -N 1 -t 10 --no-shell --job-name=${PROJECT_ALLOC_NAME} --mpibind=off 23 needs: [] 24 25#### 26# In post-build phase, deallocate resources 27# Note : make sure this is run even on build phase failure 28quartz_release: 29 variables: 30 GIT_STRATEGY: none 31 extends: [.on_quartz] 32 stage: release 33 script: 34 - export JOBID=$(squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A) 35 - if [[ -n "${JOBID}" ]]; then scancel ${JOBID}; fi 36 37#### 38# Template 39.build_on_quartz: 40 stage: build 41 variables: 42 ALLOC_COMMAND: "srun -p pdebug -t 30 -N 1 ${ASSIGN_ID}" 43 extends: [.build_script, .on_quartz] 44 45#### 46# Build jobs 47quartz-clang_4_0_0_libcxx: 48 variables: 49 HOST_CONFIG: "clang@4.0.0-libcxx.cmake" 50 extends: [.build_on_quartz] 51 52quartz-clang_6_0_0_static_analysis: 53 variables: 54 HOST_CONFIG: "clang@6.0.0-static-analysis.cmake" 55 extends: [.build_on_quartz] 56 57quartz-gcc_8_3_1: 58 variables: 59 HOST_CONFIG: "gcc@8.3.1.cmake" 60 extends: [.build_on_quartz] 61 62quartz-pgi_20_1: 63 variables: 64 HOST_CONFIG: "pgi@20.1.cmake" 65 extends: [.build_on_quartz] 66