forked from llnl/benchpark
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
96 lines (94 loc) · 2.94 KB
/
.gitlab-ci.yml
File metadata and controls
96 lines (94 loc) · 2.94 KB
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
90
91
92
93
94
95
96
workflow:
rules:
# Always allow scheduled pipelines
- if: $CI_PIPELINE_SOURCE == "schedule"
when: always
# Run pipelines only when these files/dirs change
- changes:
- .gitlab/**
- bin/**
- configs/**
- experiments/**
- lib/**
- modifiers/**
- repo/**
- var/**
- systems/llnl-elcapitan/system.py
- systems/llnl-cluster/system.py
- .gitlab-ci.yml
- checkout-versions.yaml
- CTestConfig.cmake
- CTestGitlab.cmake
- pyproject.toml
- remote-urls.yaml
- requirements.txt
# Otherwise, don't create a pipeline
- when: never
variables:
LLNL_SERVICE_USER: benchpark
# Required information about GitHub repository
GITHUB_PROJECT_NAME: benchpark
GITHUB_PROJECT_ORG: LLNL
# Override the pattern describing branches that will skip the "draft PR filter
# test". Add protected branches here. See default value in
# preliminary-ignore-draft-pr.yml.
ALWAYS_RUN_PATTERN: ^develop$|^master$|^v[0-9.]*$|^releases/$
# Expand multi-line commands in logs
FF_SCRIPT_SECTIONS: 1
# clean up the repository after the job finishes
FF_ENABLE_JOB_CLEANUP: 'true'
GIT_STRATEGY: fetch
# Debugging logs on gitlab
# CI_DEBUG_TRACE: 'true'
# Job variables
ALLOC_NAME: ${CI_PROJECT_NAME}_ci_${CI_PIPELINE_ID}
FLUX_ARGS: -N 1 --exclusive
# Dane
DANE_SHARED_ALLOC: -N 1 -t 04:00:00 --exclusive --reservation=ci
# Matrix (NODES ARE SHARED WITHOUT --exclusive)
MATRIX_SHARED_ALLOC: -N 1 -t 04:00:00 --exclusive
# Tuolumne (max 4hr policy)
TUOLUMNE_SHARED_ALLOC: -N 1 -t 3h --queue=pbatch --exclusive --setattr=gpumode=${GPUMODE}
--conf=resource.rediscover=true
# Tioga (max 2hr policy)
TIOGA_SHARED_ALLOC: -N 1 -t 2h --queue=pci --exclusive
CUSTOM_CI_BUILDS_DIR: $$HOME/.jacamar-ci/$CI_PIPELINE_ID
# Dir cleanup can take awhile
RUNNER_AFTER_SCRIPT_TIMEOUT: 20m
default:
id_tokens:
SITE_ID_TOKEN:
aud: https://lc.llnl.gov/gitlab
interruptible: true
include:
# [Optional] checks preliminary to running the actual CI test
- project: radiuss/radiuss-shared-ci
ref: v2024.12.0
file:
- utilities/preliminary-ignore-draft-pr.yml
- utilities/skip-branch-not-a-pr.yml
# Daily tests (from PRs)
- local: .gitlab/tests/shared_flux_clusters.yml
- local: .gitlab/tests/shared_slurm_clusters.yml
# Nightly tests
- local: .gitlab/tests/nightly.yml
stages:
- bootstrap-benchpark
- machine-checks
- allocate-resources
- test
- release-resources
- cleanup-dir
bootstrap_benchpark:
tags: [shell, oslic]
stage: bootstrap-benchpark
script:
- . /usr/workspace/benchpark-dev/benchpark-venv/$SYS_TYPE/bin/activate
- ./bin/benchpark configure --bootstrap-location $CUSTOM_CI_BUILDS_DIR
- ./bin/benchpark bootstrap
cleanup_pipeline_dir:
tags: [shell, oslic]
stage: cleanup-dir
script:
- echo "Removing $CUSTOM_CI_BUILDS_DIR"
- rm -rf $CUSTOM_CI_BUILDS_DIR