Pipelines: Support DAG scheduling and dynamic child pipelines
This change also adds a code path through the spack ci pipelines infrastructure which supports PR testing on the Spack repository. Gitlab pipelines run as a result of a PR (either creation or pushing to a PR branch) will only verify that the packages in the environment build without error. When the PR branch is merged to develop, another pipeline will run which results in the generated binaries getting pushed to the binary mirror.
This commit is contained in:

committed by
Todd Gamblin

parent
47b3dda1aa
commit
e0572a7d96
20
share/spack/gitlab/pr_pipeline.yml
Normal file
20
share/spack/gitlab/pr_pipeline.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
pr_pipeline:
|
||||
only:
|
||||
- external_pull_requests
|
||||
variables:
|
||||
SPACK_REPO: https://github.com/spack/spack.git
|
||||
SPACK_REF: ${CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAME}
|
||||
SPACK_IS_PR_PIPELINE: "True"
|
||||
trigger:
|
||||
project: spack/e4s
|
||||
strategy: depend
|
||||
|
||||
merge_pipeline:
|
||||
only:
|
||||
- develop
|
||||
variables:
|
||||
SPACK_REPO: https://github.com/spack/spack.git
|
||||
SPACK_REF: develop
|
||||
trigger:
|
||||
project: spack/e4s
|
||||
strategy: depend
|
@@ -469,22 +469,14 @@ _spack_ci() {
|
||||
then
|
||||
SPACK_COMPREPLY="-h --help"
|
||||
else
|
||||
SPACK_COMPREPLY="start generate pushyaml rebuild"
|
||||
SPACK_COMPREPLY="generate rebuild"
|
||||
fi
|
||||
}
|
||||
|
||||
_spack_ci_start() {
|
||||
SPACK_COMPREPLY="-h --help --output-file --copy-to --spack-repo --spack-ref --downstream-repo --branch-name --commit-sha"
|
||||
}
|
||||
|
||||
_spack_ci_generate() {
|
||||
SPACK_COMPREPLY="-h --help --output-file --copy-to --spack-repo --spack-ref"
|
||||
}
|
||||
|
||||
_spack_ci_pushyaml() {
|
||||
SPACK_COMPREPLY="-h --help --downstream-repo --branch-name --commit-sha"
|
||||
}
|
||||
|
||||
_spack_ci_rebuild() {
|
||||
SPACK_COMPREPLY="-h --help"
|
||||
}
|
||||
|
Reference in New Issue
Block a user