-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
145 lines (123 loc) · 3.12 KB
/
.gitlab-ci.yml
File metadata and controls
145 lines (123 loc) · 3.12 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Doesn't work due to CA cert issue...
#image: docker.vahanus.com/ubuntu-dlang-dev:latest
stages:
- lint
- build
- docs
- test
- deploy
variables:
GIT_SUBMODULE_STRATEGY: normal
#----------------------------------------------------------------------
default:
# Use Ubuntu-based dev image with some D compilers and dub installed
image: "gitlab.vahanus.net:5050/vahanus/public/container-ubuntu-dlang-dev:latest"
before_script:
- command -v docker && docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY || true
- command -v docker && docker info || true
#----------------------------------------------------------------------
lint-program:
tags:
- gitlabdocker
stage: lint
allow_failure: true
script:
- echo "linting $CI_COMMIT_REF_NAME / $CI_COMMIT_SHA ..."
#- dub fetch dscanner
#- dub run dscanner -- --report source
- dub lint
#----------------------------------------------------------------------
build-program-x86:
tags:
- gitlabdocker
stage: build
script:
- dub build
build-program-arm:
tags:
- arm-gitlabshell
- docker
allow_failure: true
stage: build
script:
- dub build
#----------------------------------------------------------------------
test program-x86:
tags:
- gitlabdocker
stage: test
script:
- dub test
test program-arm:
tags:
- arm-gitlabshell
- docker
allow_failure: true
stage: test
script:
- dub test
#----------------------------------------------------------------------
build docs:
tags:
- gitlabdocker
stage: docs
allow_failure: true
script:
- dub build -b ddox
#----------------------------------------------------------------------
test-arm64v8-gitlabshell:
tags:
- arm-gitlabshell
- docker
stage: test
allow_failure: true
script:
- docker pull arm64v8/alpine:latest
- docker run arm64v8/alpine:latest ls -R /
- docker pull arm64v8/ubuntu:18.04
- docker run arm64v8/ubuntu:18.04 ls -R /
- docker pull arm64v8/debian:latest
- docker run arm64v8/debian:latest ls -R /
- docker images
- echo "Running in SHELL on ARM !"
test-arm64v8-gitlabdocker:
image: arm64v8/alpine:latest
tags:
- arm-gitlabdocker
stage: test
allow_failure: true
script:
- ls -R /
- echo "Running within an Alpine Container on ARM !"
test-arm32v7-gitlabshell:
tags:
- arm-gitlabshell
- docker
stage: test
allow_failure: true
script:
- docker pull arm32v7/alpine:latest
- docker run arm32v7/alpine:latest ls -R /
- docker pull arm32v7/ubuntu:18.04
- docker run arm32v7/ubuntu:18.04 ls -R /
- docker pull arm32v7/debian:latest
- docker run arm32v7/debian:latest ls -R /
- docker images
- echo "Running in SHELL on ARM !"
test-arm32v7-gitlabdocker:
image: arm32v7/alpine:latest
tags:
- arm-gitlabdocker
stage: test
allow_failure: true
script:
- ls -R /
- echo "Running within an Alpine Container on ARM !"
#----------------------------------------------------------------------
deploy-program:
tags:
- gitlabdocker
stage: deploy
script:
- echo "Deploy!"
when: manual