-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
80 lines (70 loc) · 1.5 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
stages:
- docker
- build
- test
- deploy
variables:
BUILD_IMAGE: "$CI_REGISTRY_IMAGE:ci-master-2020-04-05"
GIT_CLEAN_FLAGS: "-ffdxq"
build-image:
stage: docker
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_JOB_TOKEN" "$CI_REGISTRY"
- if docker pull "$BUILD_IMAGE"; then echo "Image already exists!"; exit 1; fi
- docker build --force-rm -t "$BUILD_IMAGE" - < misc/Dockerfile
- docker push "$BUILD_IMAGE"
- docker rmi "$BUILD_IMAGE"
only:
variables:
- $NEW_BUILD_IMAGE
tags:
- shell
.docker_template: &docker_definition
image: "$BUILD_IMAGE"
tags:
- docker
.build_template: &build_definition
stage: build
script:
- PATH=/home/user/.local/bin:$PATH
- eval `opam env`
- autoconf
- ./configure
- ./remake all check
<<: *docker_definition
build-minimal:
before_script:
- opam switch minimal
<<: *build_definition
build-latest:
before_script:
- opam switch latest
<<: *build_definition
.opam_template: &opam_definition
stage: test
script:
- opam pin -y -n add coq-interval .
- opam install -v coq-interval
<<: *docker_definition
opam-minimal:
before_script:
- opam switch minimal
<<: *opam_definition
opam-latest:
before_script:
- opam switch latest
<<: *opam_definition
pages:
stage: deploy
script:
- opam switch latest
- eval `opam env`
- autoconf
- ./configure
- ./remake public
artifacts:
paths:
- public
only:
- master
<<: *docker_definition