gitlab-ci.yml 5.15 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
  ABCL_IMAGE: clfoundation/abcl
Eric Timmons's avatar
Eric Timmons committed
9
  ABCL_TAG: latest
10
11
12
13
14
15
  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
  variables:
    l: abcl
Eric Timmons's avatar
Eric Timmons committed
128
129
130
131
132
133
134
135
136
  allow_failure: true

# ABCL 1.8.0 has some issues that cause ASDF tests to fail. Remove this job
# when the above job starts to pass again.
ABCL 1.7.1 regression tests:
  extends: .Regression tests
  image: $ABCL_IMAGE:1.7.1-jdk8
  variables:
    l: abcl
137
138
139

ABCL upgrade tests:
  extends: .Upgrade tests
140
  image: $ABCL_IMAGE:$ABCL_TAG
141
142
143
144
145
  variables:
    l: abcl

CCL regression tests:
  extends: .Regression tests
146
  image: $CCL_IMAGE:$CCL_TAG
147
148
149
150
151
  variables:
    l: ccl

CCL upgrade tests:
  extends: .Upgrade tests
152
  image: $CCL_IMAGE:$CCL_TAG
153
154
155
156
157
  variables:
    l: ccl

ECL regression tests:
  extends: .Regression tests
158
  image: $ECL_IMAGE:$ECL_TAG
159
160
161
162
163
  variables:
    l: ecl

ECL upgrade tests:
  extends: .Upgrade tests
164
  image: $ECL_IMAGE:$ECL_TAG
165
166
167
168
169
  variables:
    l: ecl

SBCL regression tests:
  extends: .Regression tests
170
  image: $SBCL_IMAGE:$SBCL_TAG
171
172
173
174
175
  variables:
    l: sbcl

SBCL upgrade tests:
  extends: .Upgrade tests
176
  image: $SBCL_IMAGE:$SBCL_TAG
177
178
179
180
181
182
183
184
185
186
  variables:
    l: sbcl


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

ABCL scripting regression tests:
  extends: .Scripting regression tests
187
  image: $ABCL_IMAGE:$ABCL_TAG
188
189
190
191
192
  variables:
    l: abcl

ABCL scripting upgrade tests:
  extends: .Scripting upgrade tests
193
  image: $ABCL_IMAGE:$ABCL_TAG
194
195
196
197
198
  variables:
    l: abcl

CCL scripting regression tests:
  extends: .Scripting regression tests
199
  image: $CCL_IMAGE:$CCL_TAG
200
201
202
203
204
  variables:
    l: ccl

CCL scripting upgrade tests:
  extends: .Scripting upgrade tests
205
  image: $CCL_IMAGE:$CCL_TAG
206
207
208
209
210
  variables:
    l: ccl

ECL scripting regression tests:
  extends: .Scripting regression tests
211
  image: $ECL_IMAGE:$ECL_TAG
212
213
214
215
216
  variables:
    l: ecl

ECL scripting upgrade tests:
  extends: .Scripting upgrade tests
217
  image: $ECL_IMAGE:$ECL_TAG
218
219
220
221
222
  variables:
    l: ecl

SBCL scripting regression tests:
  extends: .Scripting regression tests
223
  image: $SBCL_IMAGE:$SBCL_TAG
224
225
226
227
228
  variables:
    l: sbcl

SBCL scripting upgrade tests:
  extends: .Scripting upgrade tests
229
  image: $SBCL_IMAGE:$SBCL_TAG
230
231
  variables:
    l: sbcl