summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé2021-05-19 20:55:01 +0200
committerPhilippe Mathieu-Daudé2021-05-27 16:39:23 +0200
commit6cd5251b407ab1ec7f5b8dbdc5d030ca48e4ed5c (patch)
treed6874b263d38902f4858085ed180079d383039f1 /.gitlab-ci.yml
parentgitlab: Extract build stages to stages.yml (diff)
downloadqemu-6cd5251b407ab1ec7f5b8dbdc5d030ca48e4ed5c.tar.gz
qemu-6cd5251b407ab1ec7f5b8dbdc5d030ca48e4ed5c.tar.xz
qemu-6cd5251b407ab1ec7f5b8dbdc5d030ca48e4ed5c.zip
gitlab: Extract default build/test jobs templates
To be able to reuse the mainstream build/test jobs templates, extract them into a new file (buildtest-template.yml). Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210519185504.2198573-8-f4bug@amsat.org> [thuth: Keep the "acceptance_test_job_template" name for now] Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml71
1 files changed, 1 insertions, 70 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2be8097f19..ccd11e1625 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,78 +4,9 @@ include:
- local: '/.gitlab-ci.d/opensbi.yml'
- local: '/.gitlab-ci.d/containers.yml'
- local: '/.gitlab-ci.d/crossbuilds.yml'
+ - local: '/.gitlab-ci.d/buildtest-template.yml'
- local: '/.gitlab-ci.d/static_checks.yml'
-.native_build_job_template:
- stage: build
- image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
- before_script:
- - JOBS=$(expr $(nproc) + 1)
- script:
- - if test -n "$LD_JOBS";
- then
- scripts/git-submodule.sh update meson ;
- fi
- - mkdir build
- - cd build
- - if test -n "$TARGETS";
- then
- ../configure --enable-werror --disable-docs ${LD_JOBS:+--meson=git} $CONFIGURE_ARGS --target-list="$TARGETS" ;
- else
- ../configure --enable-werror --disable-docs ${LD_JOBS:+--meson=git} $CONFIGURE_ARGS ;
- fi || { cat config.log meson-logs/meson-log.txt && exit 1; }
- - if test -n "$LD_JOBS";
- then
- ../meson/meson.py configure . -Dbackend_max_links="$LD_JOBS" ;
- fi || exit 1;
- - make -j"$JOBS"
- - if test -n "$MAKE_CHECK_ARGS";
- then
- make -j"$JOBS" $MAKE_CHECK_ARGS ;
- fi
-
-.native_test_job_template:
- stage: test
- image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
- script:
- - scripts/git-submodule.sh update
- $(sed -n '/GIT_SUBMODULES=/ s/.*=// p' build/config-host.mak)
- - cd build
- - find . -type f -exec touch {} +
- # Avoid recompiling by hiding ninja with NINJA=":"
- - make NINJA=":" $MAKE_CHECK_ARGS
-
-.acceptance_test_job_template:
- extends: .native_test_job_template
- cache:
- key: "${CI_JOB_NAME}-cache"
- paths:
- - ${CI_PROJECT_DIR}/avocado-cache
- policy: pull-push
- artifacts:
- name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
- when: always
- expire_in: 2 days
- paths:
- - build/tests/results/latest/results.xml
- - build/tests/results/latest/test-results
- reports:
- junit: build/tests/results/latest/results.xml
- before_script:
- - mkdir -p ~/.config/avocado
- - echo "[datadir.paths]" > ~/.config/avocado/avocado.conf
- - echo "cache_dirs = ['${CI_PROJECT_DIR}/avocado-cache']"
- >> ~/.config/avocado/avocado.conf
- - echo -e '[job.output.testlogs]\nstatuses = ["FAIL", "INTERRUPT"]'
- >> ~/.config/avocado/avocado.conf
- - if [ -d ${CI_PROJECT_DIR}/avocado-cache ]; then
- du -chs ${CI_PROJECT_DIR}/avocado-cache ;
- fi
- - export AVOCADO_ALLOW_UNTRUSTED_CODE=1
- after_script:
- - cd build
- - du -chs ${CI_PROJECT_DIR}/avocado-cache
-
build-system-alpine:
extends: .native_build_job_template
needs: