-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
99 lines (89 loc) · 2.83 KB
/
.gitlab-ci.yml
File metadata and controls
99 lines (89 loc) · 2.83 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
97
98
99
# SPDX-FileCopyrightText: Contributors to the HPCToolkit Project
#
# SPDX-License-Identifier: Apache-2.0
# Only spawn workflows for MRs or protected branches
workflow:
auto_cancel:
on_job_failure: none
on_new_commit: interruptible
rules:
- if: $CI_COMMIT_REF_PROTECTED == "true"
when: always
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED != "true"
when: never
- when: always
stages:
- verify
- build
- test
- audit
- pre-deploy checks
- artifacts
variables:
GITLAB_SAAS_LINUX_MAX_AMD64:
description: Tag for the largest GitLab-hosted x86-64 runner available
value: saas-linux-medium-amd64 # Without Premium/Ultimate
GITLAB_SAAS_LINUX_MAX_ARM64:
description: Tag for the largest GitLab-hosted aarch64 runner available
value: saas-linux-small-arm64 # Without Premium/Ultimate
HPCTOOLKIT_LINUX_MAX_PPC64LE:
description: Tag for the largest ppc64le runner available, hosted by the HPCToolkit Project
GITLAB_SAAS_LINUX_MAX_AMD64_GPU_STANDARD:
description: Tag for the largest GitLab-hosted x86-64 standard-GPU runner available
HPCTOOLKIT_LINUX_MAX_AMD64_GPU_AMD:
description: Tag for the largest x86-64 AMD-GPU runner available, hosted by the HPCToolkit Project
# Most jobs require the submodules, those that don't will override this
GIT_SUBMODULE_STRATEGY: recursive
# Add a transfer progress bar for artifacts
TRANSFER_METER_FREQUENCY: 2s
# Use fastzip to package caches and artifacts
FF_USE_FASTZIP: "true"
ARTIFACT_COMPRESSION_LEVEL: default
CACHE_COMPRESSION_LEVEL: fastest
# Retry various preliminary job stages (network errors)
GET_SOURCES_ATTEMPTS: 3
ARTIFACTS_DOWNLOAD_ATTEMPTS: 3
EXECUTOR_JOB_SECTION_ATTEMPTS: 3
default:
interruptible: true
retry:
max: 2
when:
- unknown_failure
- api_failure
- runner_system_failure
- runner_unsupported
- unmet_prerequisites
- data_integrity_failure
exit_codes: 68
hooks:
pre_get_sources_script:
- >-
GIT_TERMINAL_PROMPT=0 git ls-remote --quiet "$CI_REPOSITORY_URL" NONEXTISTENT_REF
|| exit 68
include:
- local: ci/verify.gitlab-ci.yml
- local: ci/build+test/.gitlab-ci.yml
- local: ci/artifacts.gitlab-ci.yml
ci performance report:
stage: .post
when: always
image:
name: docker.io/python:3.14.2-alpine@sha256:7c2135f3b4c04e61b8e42c8a3149f520b55b5543cda68f1b879d419727347772
entrypoint: [""]
dependencies: []
script:
- |-
gitlab_discount=none
if [ "$CI_SERVER_FQDN" = "gitlab.com" ]; then
if [ "$CI_PROJECT_ID" = "38709409" ]; then
gitlab_discount=oss
else
gitlab_discount=oss-fork
fi
fi
- >-
./ci/perf_report.py
--gitlab-discount="$gitlab_discount"
--exclude="$CI_JOB_ID"
"$CI_SERVER_URL" "$CI_PROJECT_ID" "$CI_PIPELINE_ID"