1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-05-09 17:40:46 +00:00

CI: add testing and testimage

Add a testing task to the gitlab CI and run testimage in that job.
Currently, it only runs against some of the qemu based machines.
Using slirp, there is no need for a privileged container or tun/tap
devices.

Change-Id: Ia85a3d0089f7d4dc7595c3a45d328c79d8e675f1
Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Jon Mason
2021-03-25 22:39:19 -04:00
parent c4b287c15d
commit ceb42f2d6c
2 changed files with 62 additions and 6 deletions
+48 -6
View File
@@ -5,6 +5,7 @@ stages:
- prep
- bootstrap
- build
- test
# Common job fragment to get a worker ready
.setup:
@@ -15,6 +16,7 @@ stages:
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
DL_DIR: $CI_BUILDS_DIR/persist/downloads
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
before_script:
- echo KAS_WORK_DIR = $KAS_WORK_DIR
- echo SSTATE_DIR = $SSTATE_DIR
@@ -27,10 +29,29 @@ stages:
extends: .setup
interruptible: true
script:
- KASFILES=$(ci/jobs-to-kas $CI_JOB_NAME)
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
- kas build $KASFILES
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
- KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME)
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
- kas build $KASFILES
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
.build_artifacts:
artifacts:
paths:
- $IMAGE_DIR/*
expire_in: 1 day
.test:
extends: .setup
stage: test
# Unique before_script here to avoid the rm from the one in .setup
before_script:
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR
script:
- KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME)
# These are needed to avoid warnings about file permissions from the artifacts
- sudo chown -R builder $KAS_WORK_DIR
- sudo chgrp -R builder $KAS_WORK_DIR
- kas build $KASFILES -c testimage
#
@@ -90,15 +111,36 @@ n1sdp/armgcc:
extends: .build
qemuarm:
extends: .build
extends:
- .build
- .build_artifacts
qemuarmv5:
extends: .build
extends:
- .build
- .build_artifacts
tc0:
extends: .build
#
# Third phase, the test jobs
#
# QEMU based machines can use testimage, others will need something else (i.e., LAVA)
qemuarm/testimage:
extends: .test
needs:
- job: qemuarm
qemuarmv5/testimage:
extends: .test
needs:
- job: qemuarmv5
#
# Utility tasks, not executed automatically
#
+14
View File
@@ -0,0 +1,14 @@
header:
version: 9
local_conf_header:
testimage: |
IMAGE_CLASSES += "testimage"
slirp: |
TEST_RUNQEMUPARAMS = "slirp"
TEST_SERVER_IP = "127.0.0.1"
QEMU_USE_SLIRP = "1"
# Multiple targets are available, put it down to just one
target:
- core-image-base