@@ -12,15 +12,40 @@ variables:
12
12
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER : /usr/pack/gcc-9.2.0-af/linux-x64/bin/gcc
13
13
LLVM_SYS_120_PREFIX : /usr/pack/llvm-12.0.1-af
14
14
CMAKE : cmake-3.18.1
15
+ # Override pip cache directory
16
+ PIP_CACHE_DIR : " $CI_PROJECT_DIR/.cache/pip"
17
+
18
+ default :
19
+ before_script :
20
+ source iis-setup.sh
21
+ cache : &global_cache
22
+ key :
23
+ files :
24
+ - pyproject.toml
25
+ paths :
26
+ - .cache/pip
27
+ policy : pull
28
+
15
29
16
- before_script :
17
- source iis-setup.sh
30
+ # ########
31
+ # Setup #
32
+ # ########
33
+
34
+ setup :
35
+ cache :
36
+ # inherit all global cache settings
37
+ << : *global_cache
38
+ # override the policy
39
+ policy : pull-push
40
+ script :
41
+ - echo "Setup completed."
18
42
19
43
# #############
20
44
# Build docs #
21
45
# #############
22
46
23
47
docs :
48
+ needs : [setup]
24
49
script :
25
50
- make docs
26
51
29
54
# ####################
30
55
31
56
pytest :
57
+ needs : [setup]
32
58
script :
33
59
- pytest
34
60
@@ -37,6 +63,7 @@ pytest:
37
63
# ################################
38
64
39
65
snitch-cluster-sw :
66
+ needs : [setup]
40
67
script :
41
68
- cd target/snitch_cluster
42
69
- make sw
@@ -46,6 +73,7 @@ snitch-cluster-sw:
46
73
expire_in : 1 day
47
74
48
75
snitch-cluster-sw-banshee :
76
+ needs : [setup]
49
77
script :
50
78
- cd target/snitch_cluster
51
79
- make SELECT_RUNTIME=banshee sw
@@ -65,7 +93,7 @@ snitch-cluster-sw-banshee:
65
93
# - snitch_dma
66
94
# - snitch
67
95
snitch-ip-tests :
68
- needs : []
96
+ needs : [setup ]
69
97
parallel :
70
98
matrix :
71
99
- IP :
@@ -85,23 +113,23 @@ snitch-ip-tests:
85
113
86
114
# Verilator
87
115
snitch-cluster-vlt :
88
- needs : [snitch-cluster-sw]
116
+ needs : [setup, snitch-cluster-sw]
89
117
script :
90
118
- cd target/snitch_cluster
91
119
- make bin/snitch_cluster.vlt
92
120
- ./util/run.py sw/run.yaml --simulator verilator -j --run-dir runs/vlt
93
121
94
122
# VCS
95
123
snitch-cluster-vcs :
96
- needs : [snitch-cluster-sw]
124
+ needs : [setup, snitch-cluster-sw]
97
125
script :
98
126
- cd target/snitch_cluster
99
127
- make bin/snitch_cluster.vcs
100
128
- ./util/run.py sw/run.yaml --simulator vcs -j --run-dir runs/vcs
101
129
102
130
# Questa
103
131
snitch-cluster-vsim :
104
- needs : [snitch-cluster-sw]
132
+ needs : [setup, snitch-cluster-sw]
105
133
script :
106
134
- cd target/snitch_cluster
107
135
- make bin/snitch_cluster.vsim
@@ -114,7 +142,7 @@ snitch-cluster-vsim:
114
142
115
143
# Banshee
116
144
snitch-cluster-banshee :
117
- needs : [snitch-cluster-sw-banshee]
145
+ needs : [setup, snitch-cluster-sw-banshee]
118
146
variables :
119
147
SNITCH_LOG : info
120
148
script :
@@ -130,6 +158,7 @@ snitch-cluster-banshee:
130
158
131
159
# Tests requiring hardware FDIV unit
132
160
snitch-cluster-fdiv-vsim :
161
+ needs : [setup]
133
162
script :
134
163
- cd target/snitch_cluster
135
164
- make CFG_OVERRIDE=cfg/fdiv.json sw
@@ -140,6 +169,7 @@ snitch-cluster-fdiv-vsim:
140
169
141
170
# Test OmegaNet TCDM interconnect
142
171
snitch-cluster-omega-vsim :
172
+ needs : [setup]
143
173
script :
144
174
- cd target/snitch_cluster
145
175
- make CFG_OVERRIDE=cfg/omega.json sw
@@ -148,6 +178,7 @@ snitch-cluster-omega-vsim:
148
178
149
179
# Test Multi-channel DMA
150
180
snitch-cluster-mchan-vsim :
181
+ needs : [setup]
151
182
script :
152
183
- cd target/snitch_cluster
153
184
- make CFG_OVERRIDE=cfg/dma_mchan.json sw
@@ -159,6 +190,7 @@ snitch-cluster-mchan-vsim:
159
190
# ###########
160
191
161
192
nonfree :
193
+ needs : [setup]
162
194
script :
163
195
- make nonfree
164
196
- make elab
0 commit comments