.gitlab-ci.yml 1.78 KB
Newer Older
James T. Lee's avatar
James T. Lee committed
1
2
---
default:
3
  image: '${CI_REGISTRY}/nest/tools/buildah:${CI_HOST_CPU}'
James T. Lee's avatar
James T. Lee committed
4
  before_script:
James T. Lee's avatar
James T. Lee committed
5
    - 'buildah login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"'
James T. Lee's avatar
James T. Lee committed
6

7
.'Build haswell-server':
James T. Lee's avatar
James T. Lee committed
8
  stage: 'build'
9
  tags: ['nest']
10
11
12
13
14
  variables:
    CPU: 'haswell'
    ROLE: 'server'
    QEMU_ARCH: 'x86_64'
  script: &script
15
    - 'mkdir debug'
16
    - 'buildah bud --cap-add SYS_ADMIN
James T. Lee's avatar
James T. Lee committed
17
                   --security-opt seccomp=unconfined
James T. Lee's avatar
James T. Lee committed
18
                   --ulimit nofile=1048576
19
                   --build-arg STAGE0_TAG="$CPU"
20
                   --build-arg FACTER_emerge_default_opts="$CI_HOST_EMERGE_DEFAULT_OPTS"
James T. Lee's avatar
James T. Lee committed
21
                   --build-arg FACTER_makeopts="$CI_HOST_MAKEOPTS"
James T. Lee's avatar
James T. Lee committed
22
                   --build-arg FEATURES="-ipc-sandbox -network-sandbox -pid-sandbox"
23
24
                   --build-arg PROFILE="${CPU}/${ROLE}"
                   -v "/usr/bin/qemu-${QEMU_ARCH}:/usr/bin/qemu-${QEMU_ARCH}:ro"
James T. Lee's avatar
James T. Lee committed
25
26
                   -v "${PUPPET_CERTIFICATE}:/etc/puppetlabs/puppet/ssl/certs/ci.pem"
                   -v "${PUPPET_PRIVATE_KEY}:/etc/puppetlabs/puppet/ssl/private_keys/ci.pem"
27
                   -v "${PWD}/debug:/usr/lib/debug"
28
                   -v /nest:/nest
29
30
31
32
33
                   -t "${CI_REGISTRY_IMAGE}:${CPU}-${ROLE}" .'
    - 'buildah bud --build-arg STAGE0_TAG="$CPU" -t "${CI_REGISTRY_IMAGE}/debug:${CPU}-${ROLE}" -f Containerfile.debug .'
    - 'buildah push "${CI_REGISTRY_IMAGE}:${CPU}-${ROLE}"'
    - 'buildah push "${CI_REGISTRY_IMAGE}/debug:${CPU}-${ROLE}"'

34
.'Build haswell-workstation':
35
36
37
38
39
40
41
  stage: 'build'
  tags: ['nest']
  variables:
    CPU: 'haswell'
    ROLE: 'workstation'
    QEMU_ARCH: 'x86_64'
  script: *script
42
43
44
45
46
47
48
49
50

'Build cortex-a72-workstation':
  stage: 'build'
  tags: ['nest']
  variables:
    CPU: 'cortex-a72'
    ROLE: 'workstation'
    QEMU_ARCH: 'aarch64'
  script: *script