[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 08/19] gitlab: Extract default build/test jobs templates
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 08/19] gitlab: Extract default build/test jobs templates |
Date: |
Wed, 26 May 2021 23:18:27 +0200 |
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>
---
.gitlab-ci.d/buildtest-template.yml | 69 ++++++++++++++++++++++++++++
.gitlab-ci.yml | 71 +----------------------------
2 files changed, 70 insertions(+), 70 deletions(-)
create mode 100644 .gitlab-ci.d/buildtest-template.yml
diff --git a/.gitlab-ci.d/buildtest-template.yml
b/.gitlab-ci.d/buildtest-template.yml
new file mode 100644
index 00000000000..167ee88c410
--- /dev/null
+++ b/.gitlab-ci.d/buildtest-template.yml
@@ -0,0 +1,69 @@
+.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=internal} $CONFIGURE_ARGS --target-list="$TARGETS" ;
+ else
+ ../configure --enable-werror --disable-docs
${LD_JOBS:+--meson=internal} $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
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f170065ac63..ccd11e1625a 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=internal} $CONFIGURE_ARGS --target-list="$TARGETS" ;
- else
- ../configure --enable-werror --disable-docs
${LD_JOBS:+--meson=internal} $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:
--
2.26.3
- [PULL 00/19] gitlab-ci patches for 2021-05-26, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 01/19] gitlab: Replace YAML anchors by extends (acceptance_test_job), Philippe Mathieu-Daudé, 2021/05/26
- [PULL 02/19] gitlab: Rename ACCEL_CONFIGURE_OPTS to EXTRA_CONFIGURE_OPTS, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 03/19] gitlab: Enable cross-i386 builds of TCI, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 04/19] gitlab: Extract container job template to container-template.yml, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 05/19] gitlab: Extract crossbuild job templates to crossbuild-template.yml, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 06/19] gitlab: Extract DCO/style check jobs to static_checks.yml, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 07/19] gitlab: Extract build stages to stages.yml, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 08/19] gitlab: Extract default build/test jobs templates,
Philippe Mathieu-Daudé <=
- [PULL 09/19] gitlab: Extract core container jobs to container-core.yml, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 10/19] gitlab: Drop linux user build job for CentOS 7, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 11/19] gitlab: Extract all default build/test jobs to buildtest.yml, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 12/19] gitlab: Move current job set to qemu-project.yml, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 13/19] gitlab: Document how forks can use different set of jobs, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 14/19] gitlab: Extract cross-container jobs to container-cross.yml, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 15/19] gitlab: Keep Avocado reports during 1 week, Philippe Mathieu-Daudé, 2021/05/26
- [PULL 16/19] gitlab: Run Avocado tests manually (except mainstream CI), Philippe Mathieu-Daudé, 2021/05/26
- [PULL 17/19] gitlab: Use $CI_DEFAULT_BRANCH instead of hardcoded 'master', Philippe Mathieu-Daudé, 2021/05/26
- [PULL 18/19] gitlab: Convert check-dco/check-patch jobs to the 'rules' syntax, Philippe Mathieu-Daudé, 2021/05/26