CI: Allow more control over which jobs run
Provide some additional variables which can be used to deselect whole stages, or select a particular test.py build. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -6,6 +6,9 @@ include:
|
|||||||
variables:
|
variables:
|
||||||
DEFAULT_TAG: ""
|
DEFAULT_TAG: ""
|
||||||
MIRROR_DOCKER: docker.io
|
MIRROR_DOCKER: docker.io
|
||||||
|
TEST_SUITES: "1"
|
||||||
|
TEST_PY: "1"
|
||||||
|
WORLD_BUILD: "1"
|
||||||
LAB_ONLY: ""
|
LAB_ONLY: ""
|
||||||
SJG_LAB: ""
|
SJG_LAB: ""
|
||||||
PLATFORM: linux/amd64,linux/arm64
|
PLATFORM: linux/amd64,linux/arm64
|
||||||
@@ -34,10 +37,15 @@ stages:
|
|||||||
stage: test.py
|
stage: test.py
|
||||||
retry: 2 # QEMU may be too slow, etc.
|
retry: 2 # QEMU may be too slow, etc.
|
||||||
rules:
|
rules:
|
||||||
- if: $LAB_ONLY != "1"
|
|
||||||
when: always
|
|
||||||
- if: $LAB_ONLY == "1"
|
- if: $LAB_ONLY == "1"
|
||||||
when: never
|
when: never
|
||||||
|
- if: $TEST_PY == "1"
|
||||||
|
when: always
|
||||||
|
- if: $TEST_PY == $CI_JOB_NAME
|
||||||
|
when: always
|
||||||
|
- if: $TEST_PY == $TEST_PY_BD
|
||||||
|
when: always
|
||||||
|
- when: never
|
||||||
before_script:
|
before_script:
|
||||||
- git config --global --add safe.directory "${CI_PROJECT_DIR}"
|
- git config --global --add safe.directory "${CI_PROJECT_DIR}"
|
||||||
# qemu_arm64_lwip_defconfig is the same as qemu_arm64 but with NET_LWIP enabled.
|
# qemu_arm64_lwip_defconfig is the same as qemu_arm64 but with NET_LWIP enabled.
|
||||||
@@ -126,10 +134,11 @@ stages:
|
|||||||
.world_build:
|
.world_build:
|
||||||
stage: world_build
|
stage: world_build
|
||||||
rules:
|
rules:
|
||||||
- if: $LAB_ONLY != "1"
|
|
||||||
when: always
|
|
||||||
- if: $LAB_ONLY == "1"
|
- if: $LAB_ONLY == "1"
|
||||||
when: never
|
when: never
|
||||||
|
- if: $WORLD_BUILD == "1"
|
||||||
|
when: always
|
||||||
|
- when: never
|
||||||
|
|
||||||
build all 32bit ARM platforms:
|
build all 32bit ARM platforms:
|
||||||
extends: .world_build
|
extends: .world_build
|
||||||
@@ -209,10 +218,11 @@ build all other platforms:
|
|||||||
.test_suites:
|
.test_suites:
|
||||||
stage: test_suites
|
stage: test_suites
|
||||||
rules:
|
rules:
|
||||||
- if: $LAB_ONLY != "1"
|
|
||||||
when: always
|
|
||||||
- if: $LAB_ONLY == "1"
|
- if: $LAB_ONLY == "1"
|
||||||
when: never
|
when: never
|
||||||
|
- if: $TEST_SUITES == "1"
|
||||||
|
when: always
|
||||||
|
- when: never
|
||||||
|
|
||||||
check for new CONFIG symbols outside Kconfig:
|
check for new CONFIG symbols outside Kconfig:
|
||||||
extends: .test_suites
|
extends: .test_suites
|
||||||
|
|||||||
@@ -95,6 +95,28 @@ testing cycle to edit these pipelines in separate local commits to pair them
|
|||||||
down to just the jobs you're interested in. These changes must be removed
|
down to just the jobs you're interested in. These changes must be removed
|
||||||
prior to submission.
|
prior to submission.
|
||||||
|
|
||||||
|
Available variables are:
|
||||||
|
|
||||||
|
TEST_SUITES
|
||||||
|
Set to 0 to disable the test_suites stage::
|
||||||
|
|
||||||
|
git push ci -o ci.variable=TEST_SUITES=0
|
||||||
|
|
||||||
|
TEST_PY
|
||||||
|
Set to 0 to disable the test.py stage, or set to the job name to run just
|
||||||
|
that job, or set to the board name to run all tests for that board:
|
||||||
|
|
||||||
|
For example::
|
||||||
|
|
||||||
|
git push ci -o ci.variable=TEST_PY=0
|
||||||
|
git push ci -o ci.variable=TEST_PY=sandbox
|
||||||
|
git push ci -o ci.variable=TEST_PY='sandbox with clang test.py'
|
||||||
|
|
||||||
|
WORLD_BUILD
|
||||||
|
Set to 0 to disable the world_build stage::
|
||||||
|
|
||||||
|
git push ci -o ci.variable=WORLD_BUILD=0
|
||||||
|
|
||||||
Using the lab
|
Using the lab
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
@@ -113,7 +135,9 @@ To request that the lab runs::
|
|||||||
|
|
||||||
git push ci -o ci.variable=SJG_LAB=1 <branch>
|
git push ci -o ci.variable=SJG_LAB=1 <branch>
|
||||||
|
|
||||||
To request that *only* the lab runs::
|
To request that *only* the lab runs, you can set TEST_PY=0 and TEST_SUITES=0
|
||||||
|
and WORD_BUILD=0 as above. But as a shortcut you can use the LAB_ONLY
|
||||||
|
variables::
|
||||||
|
|
||||||
git push ci -o ci.variable=SJG_LAB=1 ci.variable=LAB_ONLY=1 <branch>
|
git push ci -o ci.variable=SJG_LAB=1 ci.variable=LAB_ONLY=1 <branch>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user