xref: /openbmc/qemu/.gitlab-ci.d/cirrus/build.yml (revision 7d87775f)
1@CIRRUS_VM_INSTANCE_TYPE@:
2  @CIRRUS_VM_IMAGE_SELECTOR@: @CIRRUS_VM_IMAGE_NAME@
3  cpu: @CIRRUS_VM_CPUS@
4  memory: @CIRRUS_VM_RAM@
5
6env:
7  CIRRUS_CLONE_DEPTH: 1
8  CI_REPOSITORY_URL: "@CI_REPOSITORY_URL@"
9  CI_COMMIT_REF_NAME: "@CI_COMMIT_REF_NAME@"
10  CI_COMMIT_SHA: "@CI_COMMIT_SHA@"
11  PATH: "@PATH@"
12  PKG_CONFIG_PATH: "@PKG_CONFIG_PATH@"
13  PYTHON: "@PYTHON@"
14  MAKE: "@MAKE@"
15  CONFIGURE_ARGS: "@CONFIGURE_ARGS@"
16  TEST_TARGETS: "@TEST_TARGETS@"
17
18build_task:
19  # A little shorter than GitLab timeout in ../cirrus.yml
20  timeout_in: 60m
21  install_script:
22    - @UPDATE_COMMAND@
23    - @INSTALL_COMMAND@ @PKGS@
24    - if test -n "@PYPI_PKGS@" ; then PYLIB=$(@PYTHON@ -c 'import sysconfig; print(sysconfig.get_path("stdlib"))'); rm -f $PYLIB/EXTERNALLY-MANAGED; @PIP3@ install @PYPI_PKGS@ ; fi
25  clone_script:
26    - git clone --depth 100 "$CI_REPOSITORY_URL" .
27    - git fetch origin "$CI_COMMIT_REF_NAME"
28    - git reset --hard "$CI_COMMIT_SHA"
29  step_script:
30    - mkdir build
31    - cd build
32    - ../configure --enable-werror $CONFIGURE_ARGS
33      || { cat config.log meson-logs/meson-log.txt; exit 1; }
34    - $MAKE -j$(sysctl -n hw.ncpu)
35    - for TARGET in $TEST_TARGETS ;
36      do
37        $MAKE -j$(sysctl -n hw.ncpu) $TARGET V=1 ;
38      done
39  always:
40    build_result_artifacts:
41      path: build/meson-logs/*log.txt
42      type: text/plain
43