|
1 | 1 | ############################################################################### |
2 | | -# Copyright (c) 2017-23, Lawrence Livermore National Security, LLC |
| 2 | +# Copyright (c) 2017-24, Lawrence Livermore National Security, LLC |
3 | 3 | # and RAJA Performance Suite project contributors. |
4 | 4 | # See the RAJAPerf/LICENSE file for details. |
5 | 5 | # |
6 | 6 | # SPDX-License-Identifier: (BSD-3-Clause) |
7 | 7 | ############################################################################### |
8 | 8 |
|
| 9 | +# DESCRIPTION: |
9 | 10 | ############################################################################### |
10 | 11 | # General GitLab pipelines configurations for supercomputers and Linux clusters |
11 | 12 | # at Lawrence Livermore National Laboratory (LLNL). |
12 | | -# |
13 | 13 | # This entire pipeline is LLNL-specific |
14 | 14 | # |
15 | | -# Important note: This file is a copy of the template provided by |
16 | | -# llnl/radiuss-shared-ci. It should not require any change from the project to |
17 | | -# get started but could feature project-specific stages. |
| 15 | +# Important note: This file is a template provided by llnl/radiuss-shared-ci. |
| 16 | +# Remains to set variable values, change the reference to the radiuss-shared-ci |
| 17 | +# repo, opt-in and out optional features. The project can then extend it with |
| 18 | +# additional stages. |
18 | 19 | # |
19 | | -# Instead, each project should provide: |
20 | | -# - .gitlab/subscribed-pipelines.yml |
| 20 | +# In addition, each project should copy over and complete: |
21 | 21 | # - .gitlab/custom-jobs-and-variables.yml |
22 | | -# - .gitlab/${MACHINE}-build-and-test-extra.yml |
| 22 | +# - .gitlab/subscribed-pipelines.yml |
| 23 | +# |
| 24 | +# The jobs should be specified in a file local to the project, |
| 25 | +# - .gitlab/jobs/${CI_MACHINE}.yml |
| 26 | +# or generated (see LLNL/Umpire for an example). |
23 | 27 | ############################################################################### |
24 | 28 |
|
25 | 29 | # We define the following GitLab pipeline variables: |
26 | 30 | variables: |
27 | | -# Required information about GitHub repository |
28 | | - GITHUB_PROJECT_NAME: "RAJAPerf" |
29 | | - GITHUB_PROJECT_ORG: "LLNL" |
30 | | -# Use the umdev service user to run CI. This prevents from running pipelines as |
31 | | -# an actual user. |
| 31 | +##### LC GITLAB CONFIGURATION |
| 32 | +# Use a LLNL service user to run CI. This prevents from running pipelines as an |
| 33 | +# actual user. |
32 | 34 | LLNL_SERVICE_USER: rajasa |
33 | 35 | # Use the service user workspace. Solves permission issues, stores everything |
34 | 36 | # at the same location whoever triggers a pipeline. |
35 | | -# CUSTOM_CI_BUILDS_DIR: "" |
| 37 | +# CUSTOM_CI_BUILDS_DIR: "/usr/workspace/rajasa/gitlab-runner" |
36 | 38 | # Tells Gitlab to recursively update the submodules when cloning the project. |
37 | 39 | GIT_SUBMODULE_STRATEGY: recursive |
38 | | -# We build the projects in the CI clone directory. |
39 | | -# TODO: add a clean-up mechanism |
| 40 | + |
| 41 | +##### PROJECT VARIABLES |
| 42 | +# We build the projects in the CI clone directory (used in |
| 43 | +# script/gitlab/build_and_test.sh script). |
| 44 | +# TODO: add a clean-up mechanism. |
40 | 45 | BUILD_ROOT: ${CI_PROJECT_DIR} |
| 46 | + |
| 47 | +##### SHARED_CI CONFIGURATION |
| 48 | +# Required information about GitHub repository |
| 49 | + GITHUB_PROJECT_NAME: "RAJAPerf" |
| 50 | + GITHUB_PROJECT_ORG: "LLNL" |
41 | 51 | # Set the build-and-test command. |
42 | | - BUILD_AND_TEST_CMD: "./scripts/gitlab/build_and_test.sh" |
43 | | -# Override the list of branch that will skip the "draft PR test". |
44 | | -# Add protected branches here. Defaults to "develop main master". |
45 | | -# ALWAYS_RUN_LIST: "develop main" |
| 52 | + JOB_CMD: |
| 53 | + value: "./scripts/gitlab/build_and_test.sh" |
| 54 | + expand: false |
| 55 | +# Override the pattern describing branches that will skip the "draft PR filter |
| 56 | +# test". Add protected branches here. See default value in |
| 57 | +# preliminary-ignore-draft-pr.yml. |
| 58 | +# ALWAYS_RUN_PATTERN: "^develop$|^main$|^v[0-9.]*-RC$" |
46 | 59 |
|
47 | | -# We organize the CI on Gitlab in sub-pipelines. Each sub-pipeline corresponds |
48 | | -# to a test phase on a given machine. |
| 60 | +# We organize the build-and-test stage with sub-pipelines. Each sub-pipeline |
| 61 | +# corresponds to a test batch on a given machine. |
49 | 62 |
|
50 | 63 | # High level stages |
51 | 64 | stages: |
52 | | - - machine-checks |
| 65 | + - prerequisites |
53 | 66 | - build-and-test |
54 | 67 |
|
55 | | -# Template for jobs triggering a build-and-test sub-pipelines: |
| 68 | +# Template for jobs triggering a build-and-test sub-pipeline: |
56 | 69 | .build-and-test: |
57 | 70 | stage: build-and-test |
58 | 71 | trigger: |
59 | 72 | include: |
60 | 73 | - local: '.gitlab/custom-jobs-and-variables.yml' |
61 | 74 | - project: 'radiuss/radiuss-shared-ci' |
62 | | - ref: v2023.06.0 |
63 | | - file: '${CI_MACHINE}-build-and-test.yml' |
64 | | - - local: '.gitlab/${CI_MACHINE}-build-and-test-extra.yml' |
| 75 | + ref: 'v2024.06.0' |
| 76 | + file: 'pipelines/${CI_MACHINE}.yml' |
| 77 | + - artifact: '${CI_MACHINE}-jobs.yml' |
| 78 | + job: 'generate-job-lists' |
65 | 79 | strategy: depend |
66 | 80 | forward: |
67 | 81 | pipeline_variables: true |
68 | 82 |
|
69 | 83 | include: |
70 | | - # checks preliminary to running the actual CI test (optional) |
| 84 | + - project: 'lc-templates/id_tokens' |
| 85 | + file: 'id_tokens.yml' |
| 86 | + # [Optional] checks preliminary to running the actual CI test |
71 | 87 | #- project: 'radiuss/radiuss-shared-ci' |
72 | | - # ref: v2023.03.1 |
73 | | - # file: 'preliminary-ignore-draft-pr.yml' |
| 88 | + # ref: 'v2024.06.0' |
| 89 | + # file: 'utilities/preliminary-ignore-draft-pr.yml' |
74 | 90 | # pipelines subscribed by the project |
75 | 91 | - local: '.gitlab/subscribed-pipelines.yml' |
0 commit comments