16cd5251bSPhilippe Mathieu-Daudé.native_build_job_template: 2e312d1fdSDaniel P. Berrangé extends: .base_job_template 36cd5251bSPhilippe Mathieu-Daudé stage: build 4d4c7a565SDaniel P. Berrangé image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG 52f7350cdSDaniel P. Berrangé cache: 62f7350cdSDaniel P. Berrangé paths: 72f7350cdSDaniel P. Berrangé - ccache 82f7350cdSDaniel P. Berrangé key: "$CI_JOB_NAME" 92f7350cdSDaniel P. Berrangé when: always 106cd5251bSPhilippe Mathieu-Daudé before_script: 116cd5251bSPhilippe Mathieu-Daudé - JOBS=$(expr $(nproc) + 1) 126cd5251bSPhilippe Mathieu-Daudé script: 132f7350cdSDaniel P. Berrangé - export CCACHE_BASEDIR="$(pwd)" 142f7350cdSDaniel P. Berrangé - export CCACHE_DIR="$CCACHE_BASEDIR/ccache" 152f7350cdSDaniel P. Berrangé - export CCACHE_MAXSIZE="500M" 162f7350cdSDaniel P. Berrangé - export PATH="$CCACHE_WRAPPERSDIR:$PATH" 17*9837697bSAlex Bennée - du -sh .git 186cd5251bSPhilippe Mathieu-Daudé - mkdir build 196cd5251bSPhilippe Mathieu-Daudé - cd build 202f7350cdSDaniel P. Berrangé - ccache --zero-stats 21eda2321dSThomas Huth - ../configure --enable-werror --disable-docs --enable-fdt=system 2266e2c6cbSJohn Snow ${TARGETS:+--target-list="$TARGETS"} 2322ebcba0SThomas Huth $CONFIGURE_ARGS || 2422ebcba0SThomas Huth { cat config.log meson-logs/meson-log.txt && exit 1; } 256cd5251bSPhilippe Mathieu-Daudé - if test -n "$LD_JOBS"; 266cd5251bSPhilippe Mathieu-Daudé then 2766e2c6cbSJohn Snow pyvenv/bin/meson configure . -Dbackend_max_links="$LD_JOBS" ; 286cd5251bSPhilippe Mathieu-Daudé fi || exit 1; 296cd5251bSPhilippe Mathieu-Daudé - make -j"$JOBS" 306cd5251bSPhilippe Mathieu-Daudé - if test -n "$MAKE_CHECK_ARGS"; 316cd5251bSPhilippe Mathieu-Daudé then 326cd5251bSPhilippe Mathieu-Daudé make -j"$JOBS" $MAKE_CHECK_ARGS ; 336cd5251bSPhilippe Mathieu-Daudé fi 342f7350cdSDaniel P. Berrangé - ccache --show-stats 356cd5251bSPhilippe Mathieu-Daudé 3688b19e4eSAlex Bennée# We jump some hoops in common_test_job_template to avoid 3788b19e4eSAlex Bennée# rebuilding all the object files we skip in the artifacts 3888b19e4eSAlex Bennée.native_build_artifact_template: 3988b19e4eSAlex Bennée artifacts: 40cef63308SDaniel P. Berrangé when: on_success 4188b19e4eSAlex Bennée expire_in: 2 days 4288b19e4eSAlex Bennée paths: 4388b19e4eSAlex Bennée - build 4488b19e4eSAlex Bennée - .git-submodule-status 4588b19e4eSAlex Bennée exclude: 4688b19e4eSAlex Bennée - build/**/*.p 4788b19e4eSAlex Bennée - build/**/*.a.p 4888b19e4eSAlex Bennée - build/**/*.fa.p 4988b19e4eSAlex Bennée - build/**/*.c.o 5088b19e4eSAlex Bennée - build/**/*.c.o.d 5188b19e4eSAlex Bennée - build/**/*.fa 5288b19e4eSAlex Bennée 5329a49376SDaniel P. Berrangé.common_test_job_template: 54e312d1fdSDaniel P. Berrangé extends: .base_job_template 556cd5251bSPhilippe Mathieu-Daudé stage: test 56d4c7a565SDaniel P. Berrangé image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG 576cd5251bSPhilippe Mathieu-Daudé script: 581f468152SPaolo Bonzini - scripts/git-submodule.sh update roms/SLOF 592019cabfSPaolo Bonzini - meson subprojects download $(cd build/subprojects && echo *) 606cd5251bSPhilippe Mathieu-Daudé - cd build 616cd5251bSPhilippe Mathieu-Daudé - find . -type f -exec touch {} + 626cd5251bSPhilippe Mathieu-Daudé # Avoid recompiling by hiding ninja with NINJA=":" 636cd5251bSPhilippe Mathieu-Daudé - make NINJA=":" $MAKE_CHECK_ARGS 646cd5251bSPhilippe Mathieu-Daudé 6529a49376SDaniel P. Berrangé.native_test_job_template: 6629a49376SDaniel P. Berrangé extends: .common_test_job_template 6729a49376SDaniel P. Berrangé artifacts: 6829a49376SDaniel P. Berrangé name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" 69cef63308SDaniel P. Berrangé when: always 7029a49376SDaniel P. Berrangé expire_in: 7 days 7129a49376SDaniel P. Berrangé paths: 7229a49376SDaniel P. Berrangé - build/meson-logs/testlog.txt 73861dca37SMarc-André Lureau reports: 74861dca37SMarc-André Lureau junit: build/meson-logs/testlog.junit.xml 7529a49376SDaniel P. Berrangé 76bbbd9b6eSWillian Rampazzo.avocado_test_job_template: 7729a49376SDaniel P. Berrangé extends: .common_test_job_template 786cd5251bSPhilippe Mathieu-Daudé cache: 796cd5251bSPhilippe Mathieu-Daudé key: "${CI_JOB_NAME}-cache" 806cd5251bSPhilippe Mathieu-Daudé paths: 816cd5251bSPhilippe Mathieu-Daudé - ${CI_PROJECT_DIR}/avocado-cache 826cd5251bSPhilippe Mathieu-Daudé policy: pull-push 836cd5251bSPhilippe Mathieu-Daudé artifacts: 846cd5251bSPhilippe Mathieu-Daudé name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" 85cef63308SDaniel P. Berrangé when: always 86f230dba7SPhilippe Mathieu-Daudé expire_in: 7 days 876cd5251bSPhilippe Mathieu-Daudé paths: 886cd5251bSPhilippe Mathieu-Daudé - build/tests/results/latest/results.xml 896cd5251bSPhilippe Mathieu-Daudé - build/tests/results/latest/test-results 906cd5251bSPhilippe Mathieu-Daudé reports: 916cd5251bSPhilippe Mathieu-Daudé junit: build/tests/results/latest/results.xml 926cd5251bSPhilippe Mathieu-Daudé before_script: 936cd5251bSPhilippe Mathieu-Daudé - mkdir -p ~/.config/avocado 946cd5251bSPhilippe Mathieu-Daudé - echo "[datadir.paths]" > ~/.config/avocado/avocado.conf 956cd5251bSPhilippe Mathieu-Daudé - echo "cache_dirs = ['${CI_PROJECT_DIR}/avocado-cache']" 966cd5251bSPhilippe Mathieu-Daudé >> ~/.config/avocado/avocado.conf 976cd5251bSPhilippe Mathieu-Daudé - echo -e '[job.output.testlogs]\nstatuses = ["FAIL", "INTERRUPT"]' 986cd5251bSPhilippe Mathieu-Daudé >> ~/.config/avocado/avocado.conf 996cd5251bSPhilippe Mathieu-Daudé - if [ -d ${CI_PROJECT_DIR}/avocado-cache ]; then 1006cd5251bSPhilippe Mathieu-Daudé du -chs ${CI_PROJECT_DIR}/avocado-cache ; 1016cd5251bSPhilippe Mathieu-Daudé fi 1026cd5251bSPhilippe Mathieu-Daudé - export AVOCADO_ALLOW_UNTRUSTED_CODE=1 1036cd5251bSPhilippe Mathieu-Daudé after_script: 1046cd5251bSPhilippe Mathieu-Daudé - cd build 1056cd5251bSPhilippe Mathieu-Daudé - du -chs ${CI_PROJECT_DIR}/avocado-cache 106e312d1fdSDaniel P. Berrangé variables: 107e312d1fdSDaniel P. Berrangé QEMU_JOB_AVOCADO: 1 108