summaryrefslogtreecommitdiff
path: root/.gitlab-ci.d/cirrus/kvm-build.yml
blob: 4334fabf39e5e4de280dc98898f8453fc767d7e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
container:
  image: fedora:35
  cpu: 4
  memory: 8Gb
  kvm: true

env:
  CIRRUS_CLONE_DEPTH: 1
  CI_REPOSITORY_URL: "@CI_REPOSITORY_URL@"
  CI_COMMIT_REF_NAME: "@CI_COMMIT_REF_NAME@"
  CI_COMMIT_SHA: "@CI_COMMIT_SHA@"

@NAME@_task:
  @NAME@_vm_cache:
    folder: $HOME/.cache/qemu-vm
  install_script:
    - dnf update -y
    - dnf install -y git make openssh-clients qemu-img qemu-system-x86 wget
  clone_script:
    - git clone --depth 100 "$CI_REPOSITORY_URL" .
    - git fetch origin "$CI_COMMIT_REF_NAME"
    - git reset --hard "$CI_COMMIT_SHA"
  build_script:
    - if [ -f $HOME/.cache/qemu-vm/images/@NAME@.img ]; then
        make vm-build-@NAME@ J=$(getconf _NPROCESSORS_ONLN)
          EXTRA_CONFIGURE_OPTS="@CONFIGURE_ARGS@"
          BUILD_TARGET="@TEST_TARGETS@" ;
      else
        make vm-build-@NAME@ J=$(getconf _NPROCESSORS_ONLN) BUILD_TARGET=help
          EXTRA_CONFIGURE_OPTS="--disable-system --disable-user --disable-tools" ;
      fi