-
Notifications
You must be signed in to change notification settings - Fork 63
/
Copy path.gitlab-ci.plan
90 lines (63 loc) · 2.61 KB
/
.gitlab-ci.plan
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
def build_(qualifier={}):
with defaults(qualifier=qualifier):
anod_build("als")
anod_build("vscode-extension", qualifier={"mono-plat": True} | qualifier)
def test_als_(qualifier={}):
with defaults(qualifier=qualifier):
# Install the component built in the preceding CI build job
anod_install("als")
anod_test("als")
def test_als_cov_(qualifier={}):
with defaults(qualifier=qualifier | {"coverage": True}):
# We don't install 'als' because in coverage mode, 'als' can't be installed and
# has to be built instead.
anod_test("als")
def test_vscode_extension_(qualifier={}):
component_qual = qualifier | {"mono-plat": True}
# Install the component built in the preceding CI build job
anod_install("vscode-extension", qualifier=component_qual)
anod_test("vscode-extension", qualifier=component_qual | {"coverage": True})
def build_test_gs_(qualifier={}):
with defaults(qualifier=qualifier):
# Install the component built in the preceding CI build job
anod_install("als")
# Test gps. This will automatically rebuild gps based on the ALS changes
anod_test("gps")
# Edge
edge_qualifier = {"edge": True}
def build_edge():
build_(edge_qualifier)
def test_als_edge():
test_als_(edge_qualifier)
def test_als_cov_edge():
test_als_cov_(edge_qualifier)
def test_vscode_extension_edge():
test_vscode_extension_(edge_qualifier)
def build_test_gs_edge():
build_test_gs_(edge_qualifier)
# Integration testsuite (no edge version)
def test_integration_testsuite():
# These two components have been built by the build job of the CI, install them.
anod_install("als")
anod_install("vscode-extension", qualifier={"mono-plat": True})
# For the following components, we'd like to install with latest=True to be
# resilient to failures in nightly builds.
#
# We need to do this instead of running the whole plan with --latest because
# currently --latest bypasses the local offline Cathod component cache and prevents
# installing components built in the same CI pipeline.
for dep in (
# Install gps component to avoid it getting rebuilt. Here we are only interested
# in vscode tests in the integration-testsuite, not gps.
"gps",
"gnat",
"gnatdas",
"gnatsas",
"spark2014",
):
anod_install(dep, latest=True)
# Run the subset of integration-testsuite that uses VS Code
anod_test(
"integration-testsuite",
qualifier={"run-tools": "vscode", "cleanup-mode": "none", "mono-plat": True},
)