gitlab-ci: introduce stages and dependencies
We're about to add a couple of jobs for Windows. As the Windows runners are quite slow, we will split those up across two stages: one stage to build the artifacts, and one stage that runs test slices in parallel. Introduce stages and "needs" dependencies for the preexisting jobs as a preparatory step. The stages will lead to a more natural representation of jobs in the UI, whereas the "needs" dependency ensures that jobs do not have to wait for all jobs in the preceding stage to finish. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
b7a08e947e
commit
05a928a93e
@ -1,6 +1,10 @@
|
||||
default:
|
||||
timeout: 2h
|
||||
|
||||
stages:
|
||||
- test
|
||||
- analyze
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
@ -9,6 +13,8 @@ workflow:
|
||||
|
||||
test:linux:
|
||||
image: $image
|
||||
stage: test
|
||||
needs: [ ]
|
||||
tags:
|
||||
- saas-linux-medium-amd64
|
||||
variables:
|
||||
@ -67,6 +73,8 @@ test:linux:
|
||||
|
||||
test:osx:
|
||||
image: $image
|
||||
stage: test
|
||||
needs: [ ]
|
||||
tags:
|
||||
- saas-macos-medium-m1
|
||||
variables:
|
||||
@ -102,6 +110,8 @@ test:osx:
|
||||
|
||||
test:fuzz-smoke-tests:
|
||||
image: ubuntu:latest
|
||||
stage: test
|
||||
needs: [ ]
|
||||
variables:
|
||||
CC: clang
|
||||
before_script:
|
||||
@ -111,6 +121,8 @@ test:fuzz-smoke-tests:
|
||||
|
||||
static-analysis:
|
||||
image: ubuntu:22.04
|
||||
stage: analyze
|
||||
needs: [ ]
|
||||
variables:
|
||||
jobname: StaticAnalysis
|
||||
before_script:
|
||||
@ -121,6 +133,8 @@ static-analysis:
|
||||
|
||||
check-whitespace:
|
||||
image: ubuntu:latest
|
||||
stage: analyze
|
||||
needs: [ ]
|
||||
before_script:
|
||||
- ./ci/install-dependencies.sh
|
||||
# Since $CI_MERGE_REQUEST_TARGET_BRANCH_SHA is only defined for merged
|
||||
@ -135,6 +149,8 @@ check-whitespace:
|
||||
|
||||
check-style:
|
||||
image: ubuntu:latest
|
||||
stage: analyze
|
||||
needs: [ ]
|
||||
allow_failure: true
|
||||
variables:
|
||||
CC: clang
|
||||
@ -153,6 +169,8 @@ check-style:
|
||||
|
||||
documentation:
|
||||
image: ubuntu:latest
|
||||
stage: analyze
|
||||
needs: [ ]
|
||||
variables:
|
||||
jobname: Documentation
|
||||
before_script:
|
||||
|
Reference in New Issue
Block a user