gitlab: convert static checks to .base_job_template

This folds the static checks into using the base job
template rules, introducing one new variable

 - QEMU_JOB_ONLY_FORKS - a job that should never run
   on an upstream pipeline. The information it reports
   is only applicable to contributors in a pre-submission
   scenario, not time of merge.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20220526110705.59952-4-berrange@redhat.com>
[AJB: fix typo]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20220527153603.887929-31-alex.bennee@linaro.org>
This commit is contained in:
Daniel P. Berrangé 2022-05-27 16:36:00 +01:00 committed by Alex Bennée
parent 00125414ba
commit 16fee101d9
3 changed files with 18 additions and 12 deletions

View File

@ -16,6 +16,10 @@
- if: '$QEMU_JOB_CIRRUS && ($CIRRUS_GITHUB_REPO == "" || $CIRRUS_API_TOKEN == "")' - if: '$QEMU_JOB_CIRRUS && ($CIRRUS_GITHUB_REPO == "" || $CIRRUS_API_TOKEN == "")'
when: never when: never
# Jobs only intended for forks should always be skipped on upstream
- if: '$QEMU_JOB_ONLY_FORKS == "1" && $CI_PROJECT_NAMESPACE == "qemu-project"'
when: never
############################################################# #############################################################
# Stage 2: fine tune execution of jobs in specific scenarios # Stage 2: fine tune execution of jobs in specific scenarios

View File

@ -1,4 +1,5 @@
check-patch: check-patch:
extends: .base_job_template
stage: build stage: build
image: python:3.10-alpine image: python:3.10-alpine
needs: [] needs: []
@ -6,15 +7,13 @@ check-patch:
- .gitlab-ci.d/check-patch.py - .gitlab-ci.d/check-patch.py
variables: variables:
GIT_DEPTH: 1000 GIT_DEPTH: 1000
QEMU_JOB_ONLY_FORKS: 1
before_script: before_script:
- apk -U add git perl - apk -U add git perl
rules: allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == "qemu-project"'
when: never
- when: on_success
allow_failure: true
check-dco: check-dco:
extends: .base_job_template
stage: build stage: build
image: python:3.10-alpine image: python:3.10-alpine
needs: [] needs: []
@ -23,12 +22,9 @@ check-dco:
GIT_DEPTH: 1000 GIT_DEPTH: 1000
before_script: before_script:
- apk -U add git - apk -U add git
rules:
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never
- when: on_success
check-python-pipenv: check-python-pipenv:
extends: .base_job_template
stage: test stage: test
image: $CI_REGISTRY_IMAGE/qemu/python:latest image: $CI_REGISTRY_IMAGE/qemu/python:latest
script: script:
@ -39,6 +35,7 @@ check-python-pipenv:
job: python-container job: python-container
check-python-tox: check-python-tox:
extends: .base_job_template
stage: test stage: test
image: $CI_REGISTRY_IMAGE/qemu/python:latest image: $CI_REGISTRY_IMAGE/qemu/python:latest
script: script:
@ -46,8 +43,6 @@ check-python-tox:
variables: variables:
GIT_DEPTH: 1 GIT_DEPTH: 1
QEMU_TOX_EXTRA_ARGS: --skip-missing-interpreters=false QEMU_TOX_EXTRA_ARGS: --skip-missing-interpreters=false
QEMU_JOB_OPTIONAL: 1
needs: needs:
job: python-container job: python-container
rules:
- when: manual
allow_failure: true

View File

@ -66,6 +66,13 @@ by default due to need to conserve limited CI resources. It is
available to be started manually by the contributor in the CI available to be started manually by the contributor in the CI
pipelines UI. pipelines UI.
QEMU_JOB_ONLY_FORKS
~~~~~~~~~~~~~~~~~~~
The job results are only of interest to contributors prior to
submitting code. They are not required as part of the gating
CI pipeline.
Contributor controlled runtime variables Contributor controlled runtime variables
---------------------------------------- ----------------------------------------