gitlab-ci.yml 4.9 KB
Newer Older
1
2
3
4
5
6
7
###############################################################################
# Global configuration
###############################################################################

variables:
  # Just let the runner fetch and update the submodules for us.
  GIT_SUBMODULE_STRATEGY: normal
8
9
10
11
12
13
14
15
  ABCL_IMAGE: clfoundation/abcl
  ABCL_TAG: 1.7.1-jdk8
  CCL_IMAGE: clfoundation/ccl
  CCL_TAG: latest
  ECL_IMAGE: clfoundation/ecl
  ECL_TAG: latest
  SBCL_IMAGE: clfoundation/sbcl
  SBCL_TAG: latest
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


# This causes pipelines to be created only on the default branch, tags, merge
# requests, and when triggered via the web interface.
workflow:
  rules:
    - if: $CI_MERGE_REQUEST_IID
    - if: $CI_COMMIT_TAG
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
    - if: $CI_PIPELINE_SOURCE == "web"

# Split regression testing into a separate stage than upgrade tests. The
# upgrade tests tend to run slower and are generally less important than
# regression tests for most changes.
stages:
  - build
  - regression
  - upgrade

###############################################################################
# Build jobs
###############################################################################

Build ASDF:
  stage: build
41
  image: buildpack-deps:latest
42
43
44
45
46
47
48
49
  script:
    - make
  artifacts:
    paths:
      - build/asdf.lisp

Build docs:
  stage: build
50
  image: buildpack-deps:buster
51
52
  script:
    - apt-get update
53
    - apt-get install -y --no-install-recommends texinfo texlive
54
55
56
57
58
59
60
61
62
    - make -C doc
  artifacts:
    paths:
      - doc/asdf.html
      - doc/asdf.info
      - doc/asdf.pdf

Build asdf-tools:
  stage: build
63
  image: $SBCL_IMAGE:$SBCL_TAG
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
  script:
    - make -f Makefile-lisp-scripting build-asdf-tools
  artifacts:
    paths:
      - build/asdf-tools
  rules:
    - if: $ENABLE_ASDF_TOOLS

###############################################################################
# Testing Templates
###############################################################################

.Regression tests:
  stage: regression
  script:
    - make
    - make test
  artifacts:
    paths:
      - build/results/$l-test.text
  needs: []

.Upgrade tests:
  stage: upgrade
  variables:
    TAG: latest
  script:
    - make
    - make test-upgrade
  artifacts:
    paths:
      - build/results/$l-upgrade.text
  needs: []
  allow_failure: true
98
99
  rules:
    - if: $RUN_UPGRADE_TESTS
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116

.Scripting regression tests:
  extends: .Regression tests
  before_script:
    - ln -s Makefile-lisp-scripting GNUmakefile
  needs:
    - Build asdf-tools
  rules:
    - if: $ENABLE_ASDF_TOOLS

.Scripting upgrade tests:
  extends: .Upgrade tests
  before_script:
    - ln -s Makefile-lisp-scripting GNUmakefile
  needs:
    - Build asdf-tools
  rules:
117
    - if: $ENABLE_ASDF_TOOLS && $RUN_UPGRADE_TESTS
118
119
120
121
122
123
124

###############################################################################
# Actual test jobs - Makefile based harness
###############################################################################

ABCL regression tests:
  extends: .Regression tests
125
  image: $ABCL_IMAGE:$ABCL_TAG
126
127
128
129
130
  variables:
    l: abcl

ABCL upgrade tests:
  extends: .Upgrade tests
131
  image: $ABCL_IMAGE:$ABCL_TAG
132
133
134
135
136
  variables:
    l: abcl

CCL regression tests:
  extends: .Regression tests
137
  image: $CCL_IMAGE:$CCL_TAG
138
139
140
141
142
  variables:
    l: ccl

CCL upgrade tests:
  extends: .Upgrade tests
143
  image: $CCL_IMAGE:$CCL_TAG
144
145
146
147
148
  variables:
    l: ccl

ECL regression tests:
  extends: .Regression tests
149
  image: $ECL_IMAGE:$ECL_TAG
150
151
152
153
154
  variables:
    l: ecl

ECL upgrade tests:
  extends: .Upgrade tests
155
  image: $ECL_IMAGE:$ECL_TAG
156
157
158
159
160
  variables:
    l: ecl

SBCL regression tests:
  extends: .Regression tests
161
  image: $SBCL_IMAGE:$SBCL_TAG
162
163
164
165
166
  variables:
    l: sbcl

SBCL upgrade tests:
  extends: .Upgrade tests
167
  image: $SBCL_IMAGE:$SBCL_TAG
168
169
170
171
172
173
174
175
176
177
  variables:
    l: sbcl


###############################################################################
# Actual test jobs - lisp scripting based harness
###############################################################################

ABCL scripting regression tests:
  extends: .Scripting regression tests
178
  image: $ABCL_IMAGE:$ABCL_TAG
179
180
181
182
183
  variables:
    l: abcl

ABCL scripting upgrade tests:
  extends: .Scripting upgrade tests
184
  image: $ABCL_IMAGE:$ABCL_TAG
185
186
187
188
189
  variables:
    l: abcl

CCL scripting regression tests:
  extends: .Scripting regression tests
190
  image: $CCL_IMAGE:$CCL_TAG
191
192
193
194
195
  variables:
    l: ccl

CCL scripting upgrade tests:
  extends: .Scripting upgrade tests
196
  image: $CCL_IMAGE:$CCL_TAG
197
198
199
200
201
  variables:
    l: ccl

ECL scripting regression tests:
  extends: .Scripting regression tests
202
  image: $ECL_IMAGE:$ECL_TAG
203
204
205
206
207
  variables:
    l: ecl

ECL scripting upgrade tests:
  extends: .Scripting upgrade tests
208
  image: $ECL_IMAGE:$ECL_TAG
209
210
211
212
213
  variables:
    l: ecl

SBCL scripting regression tests:
  extends: .Scripting regression tests
214
  image: $SBCL_IMAGE:$SBCL_TAG
215
216
217
218
219
  variables:
    l: sbcl

SBCL scripting upgrade tests:
  extends: .Scripting upgrade tests
220
  image: $SBCL_IMAGE:$SBCL_TAG
221
222
  variables:
    l: sbcl