-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
60 lines (53 loc) · 1.52 KB
/
.gitlab-ci.yml
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
---
default:
interruptible: true
stages:
- 'Test'
- 'Build'
- 'Deploy'
'Validate':
image: '${CI_REGISTRY}/nest/tools/pdk:${CI_HOST_CPU}'
stage: 'Test'
script:
- 'pdk validate --puppet-version=8.4.0'
'Unit Test':
image: '${CI_REGISTRY}/nest/tools/pdk:${CI_HOST_CPU}'
stage: 'Test'
script:
- 'pdk test unit --parallel --puppet-version=8.4.0 --verbose'
.template: &template
image: '${CI_REGISTRY}/nest/tools/buildah:${CI_HOST_CPU}'
stage: 'Build'
script:
- 'eval $(ssh-agent -s)'
- 'chmod 600 "$SSH_PRIVATE_KEY"'
- 'ssh-add "$SSH_PRIVATE_KEY"'
- '[[ $CPU == cortex-* ]] && QEMU_ARCH=aarch64'
- '[[ -f "/usr/bin/qemu-${QEMU_ARCH}" ]] && qemu_args="-v /usr/bin/qemu-${QEMU_ARCH}:/usr/bin/qemu-${QEMU_ARCH}:ro"'
- 'buildah login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"'
- 'buildah bud --build-arg BOLT_TAG="$CPU"
--build-arg SSH_AUTH_SOCK="$SSH_AUTH_SOCK"
-v "${SSH_AUTH_SOCK}:${SSH_AUTH_SOCK}:ro"
$qemu_args
-t "${CI_REGISTRY_IMAGE}:${CPU}" .'
- 'buildah push --compression-format zstd "${CI_REGISTRY_IMAGE}:${CPU}"'
rules:
- if: '$BUILD == $CPU'
- if: '$BUILD'
when: never
- when: always
'Build haswell':
<<: *template
tags: ['amd64']
variables:
CPU: 'haswell'
'Build cortex-a53':
<<: *template
tags: ['arm64']
variables:
CPU: 'cortex-a53'
'Deploy':
stage: 'Deploy'
tags: ['r10k']
script:
- 'r10k deploy environment "$CI_COMMIT_BRANCH" -pv'