-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
99 lines (85 loc) · 2 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
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
stages:
- build
- test
- dockerize
# TEMPLATES
.build: &build
stage: build
script:
- mkdir build
- cd build
- cmake -GNinja -DCMAKE_PREFIX_PATH="/PMS/software/install/xrootd" -DENABLE_PMS_TESTS=ON ../
- ninja
needs: []
artifacts:
paths:
- build
.build-docker: &build-docker
<<: *build
tags:
- docker
build-alma9:
<<: *build-docker
image: vformato/pms-ci:alma9
build-ubuntu24.04:
<<: *build-docker
image: vformato/pms-ci:ubuntu24.04
.test: &test
stage: test
script:
- cd build
- ./testsuite/run_tests
test-alma9:
<<: *test
image: vformato/pms-ci:alma9
needs: ["build-alma9"]
test-ubuntu24.04:
<<: *test
image: vformato/pms-ci:ubuntu24.04
needs: ["build-ubuntu24.04"]
.dockerize-default : &dockerize-default
stage: dockerize
image: docker:19.03.12
services:
- docker:19.03.12-dind
needs: ["test-ubuntu24.04"]
tags:
- docker
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
script:
- cp docker/${DOCKERFILE} Dockerfile
- docker login --username vformato --password $dockerhubtoken
- docker build -t vformato/pms:$dockertag .
- docker push vformato/pms:$dockertag
dockerize-ubuntu24.04-latest:
<<: *dockerize-default
variables:
dockertag: latest
DOCKERFILE: Dockerfile
only:
- master
dockerize-ubuntu24.04-tagged-version:
<<: *dockerize-default
variables:
dockertag: $CI_COMMIT_REF_NAME
DOCKERFILE: Dockerfile
only:
- /^v[0-9]*\.[0-9]*(\.[0-9]*)$/ # ex: v0.1.0
- /^v[0-9]*\.[0-9]*(_RC[0-9]+.*)$/ # ex: v1.0_RC1, v1.0_RC1b
dockerize-ubuntu24.04-latest-deb:
<<: *dockerize-default
variables:
dockertag: latest-debug
DOCKERFILE: Dockerfile_debug
only:
- master
dockerize-ubuntu24.04-tagged-version-deb:
<<: *dockerize-default
variables:
dockertag: ${CI_COMMIT_REF_NAME}-debug
DOCKERFILE: Dockerfile_debug
only:
- /^v[0-9]*\.[0-9]*(\.[0-9]*)$/ # ex: v0.1.0
- /^v[0-9]*\.[0-9]*(_RC[0-9]+.*)$/ # ex: v1.0_RC1, v1.0_RC1b