.gitlab-ci.yml 11 KB
Newer Older
1
2
3
4
5
6
7
before_script:
  - echo "Setup done"

after_script:
  - echo "Done with the work"

stages:
8
  - software_tests
Jaco Hofmann's avatar
Jaco Hofmann committed
9
10
11
  - build_sbt
  - build_kernel
  - build_runtime
12
  - build_hw
Jaco Hofmann's avatar
Jaco Hofmann committed
13

14
.test_tapasco:
15
  stage: software_tests
Carsten Heinz's avatar
Carsten Heinz committed
16
  retry: 2
17
18
19
  variables:
    JAVA_VERSION: "8.0.212-zulu"
    SBT_VERSION: "1.2.8"
20
  image: ubuntu:latest
Jaco Hofmann's avatar
Jaco Hofmann committed
21
  tags:
22
23
24
25
26
    - High
  script:
    - apt-get -y update && apt-get -y install unzip git zip findutils curl
    - curl -s "https://get.sdkman.io" | bash
    - source "/root/.sdkman/bin/sdkman-init.sh"
27
28
    - sdk install java $JAVA_VERSION
    - sdk install sbt $SBT_VERSION
29
    - source setup.sh
30
31
    - sbt test

32
33
34
35
36
37
38
test_tapasco_java_8:
  variables:
    JAVA_VERSION: "8.0.212-zulu"
  extends: .test_tapasco

test_tapasco_java_9:
  variables:
Carsten Heinz's avatar
Carsten Heinz committed
39
    JAVA_VERSION: "9.0.7-zulu"
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
  extends: .test_tapasco

test_tapasco_java_10:
  variables:
    JAVA_VERSION: "10.0.2-zulu"
  extends: .test_tapasco

test_tapasco_java_11:
  variables:
    JAVA_VERSION: "11.0.2-open"
  extends: .test_tapasco

test_tapasco_sbt_0_13_9:
  variables:
    SBT_VERSION: "0.13.9"
  extends: .test_tapasco

test_tapasco_sbt_1_0_0:
  variables:
    SBT_VERSION: "1.0.0"
  extends: .test_tapasco

test_tapasco_sbt_1_1_5:
  variables:
    SBT_VERSION: "1.1.5"
  extends: .test_tapasco

test_tapasco_sbt_1_2_8:
  variables:
    SBT_VERSION: "1.2.8"
  extends: .test_tapasco

.build_sbt_tapasco:
Jaco Hofmann's avatar
Jaco Hofmann committed
73
  stage: build_sbt
Carsten Heinz's avatar
Carsten Heinz committed
74
  retry: 2
Jaco Hofmann's avatar
Jaco Hofmann committed
75
  tags:
Jaco Hofmann's avatar
Jaco Hofmann committed
76
    - High
Jaco Hofmann's avatar
Jaco Hofmann committed
77
78
79
  script:
    - curl -s "https://get.sdkman.io" | bash
    - source "/root/.sdkman/bin/sdkman-init.sh"
80
    - sdk install java
Jaco Hofmann's avatar
Jaco Hofmann committed
81
82
83
84
85
    - sdk install sbt
    - sbt version
    - source setup.sh
    - sbt assembly

86
87
.build_sbt_tapasco_fedora:
  before_script:
88
    - dnf -y install which unzip git zip tar findutils
89
90
91
92
93
94
95
96
97
98
99
100
101
  extends: .build_sbt_tapasco

build_sbt_tapasco_fedora_24:
  image: fedora:24
  extends: .build_sbt_tapasco_fedora

build_sbt_tapasco_fedora_25:
  image: fedora:25
  extends: .build_sbt_tapasco_fedora

build_sbt_tapasco_fedora_26:
  image: fedora:26
  extends: .build_sbt_tapasco_fedora
Jaco Hofmann's avatar
Jaco Hofmann committed
102
103
104

build_sbt_tapasco_fedora_27:
  image: fedora:27
105
  extends: .build_sbt_tapasco_fedora
Jaco Hofmann's avatar
Jaco Hofmann committed
106
107
108

build_sbt_tapasco_fedora_28:
  image: fedora:28
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
  extends: .build_sbt_tapasco_fedora

build_sbt_tapasco_fedora_29:
  image: fedora:29
  extends: .build_sbt_tapasco_fedora

build_sbt_tapasco_fedora_30:
  image: fedora:30
  extends: .build_sbt_tapasco_fedora

build_sbt_tapasco_fedora_31:
  image: fedora:31
  extends: .build_sbt_tapasco_fedora

.build_sbt_tapasco_ubuntu:
  before_script:
    - apt-get -y update && apt-get -y install unzip git zip findutils curl
  extends: .build_sbt_tapasco

build_sbt_tapasco_ubuntu_16_04:
  image: ubuntu:xenial
  extends: .build_sbt_tapasco_ubuntu

build_sbt_tapasco_ubuntu_18_04:
  image: ubuntu:bionic
  extends: .build_sbt_tapasco_ubuntu

build_sbt_tapasco_ubuntu_18_10:
  image: ubuntu:cosmic
  extends: .build_sbt_tapasco_ubuntu

build_sbt_tapasco_ubuntu_19_04:
  image: ubuntu:disco
  extends: .build_sbt_tapasco_ubuntu
143

144
145
146
# build kernel module
# as we are running in a docker instance, we cannot use tapasco-build-libs
.build_kernel_ubuntu:
Jaco Hofmann's avatar
Jaco Hofmann committed
147
  stage: build_kernel
Carsten Heinz's avatar
Carsten Heinz committed
148
  retry: 2
149
150
  variables:
    MODE: "release"
151
152
153
154
155
  tags:
    - Normal
  script:
    - apt-get -y update && apt-get -y install build-essential linux-headers-generic python libelf-dev
    - source setup.sh
156
    - for d in `ls /lib/modules`; do echo "Building for linux headers in $d"; pushd tlkm; make LINUX_HOME="/lib/modules/$d/build" clean && make LINUX_HOME=/lib/modules/$d/build -j 1 $MODE; popd; done
157
158
159
  artifacts:
    paths:
      - tlkm/tlkm.ko
160

161
162
163
164
build_kernel_ubuntu_16_04:
  image: ubuntu:xenial
  extends: .build_kernel_ubuntu

165
build_kernel_ubuntu_18_04:
166
167
168
169
  image: ubuntu:bionic
  extends: .build_kernel_ubuntu

build_kernel_ubuntu_18_10:
170
  image: ubuntu:cosmic
171
  extends: .build_kernel_ubuntu
172

173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
build_kernel_ubuntu_19_04:
  image: ubuntu:disco
  extends: .build_kernel_ubuntu

build_kernel_ubuntu_16_04_debug:
  variables:
    MODE: "all"
  image: ubuntu:xenial
  extends: .build_kernel_ubuntu

build_kernel_ubuntu_18_04_debug:
  variables:
    MODE: "all"
  image: ubuntu:bionic
  extends: .build_kernel_ubuntu

build_kernel_ubuntu_18_10_debug:
  variables:
    MODE: "all"
  image: ubuntu:cosmic
  extends: .build_kernel_ubuntu

build_kernel_ubuntu_19_04_debug:
  variables:
    MODE: "all"
  image: ubuntu:disco
  extends: .build_kernel_ubuntu

.build_kernel_fedora:
Jaco Hofmann's avatar
Jaco Hofmann committed
202
  stage: build_kernel
Carsten Heinz's avatar
Carsten Heinz committed
203
  retry: 2
204
205
  variables:
    MODE: "release"
206
207
208
209
210
  tags:
    - Normal
  script:
    - dnf -y install kernel-devel make gcc gcc-c++ elfutils-libelf-devel
    - source setup.sh
211
    - for d in `ls /usr/src/kernels/`; do echo "Building for linux headers in $d"; pushd tlkm; make LINUX_HOME="/usr/src/kernels/$d" clean && make LINUX_HOME=/usr/src/kernels/$d -j 1 $MODE; popd; done
212
213
214
  artifacts:
    paths:
      - tlkm/tlkm.ko
215

216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
build_kernel_fedora_24:
  image: fedora:24
  extends: .build_kernel_fedora

build_kernel_fedora_25:
  image: fedora:25
  extends: .build_kernel_fedora

build_kernel_fedora_26:
  image: fedora:26
  extends: .build_kernel_fedora

build_kernel_fedora_27:
  image: fedora:27
  extends: .build_kernel_fedora

232
233
build_kernel_fedora_28:
  image: fedora:28
234
  extends: .build_kernel_fedora
235
236
237

build_kernel_fedora_29:
  image: fedora:29
238
  extends: .build_kernel_fedora
239

240
241
242
build_kernel_fedora_30:
  image: fedora:30
  extends: .build_kernel_fedora
243

244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
build_kernel_fedora_31:
  image: fedora:31
  extends: .build_kernel_fedora

build_kernel_fedora_24_debug:
  variables:
    MODE: "all"
  image: fedora:24
  extends: .build_kernel_fedora

build_kernel_fedora_25_debug:
  variables:
    MODE: "all"
  image: fedora:25
  extends: .build_kernel_fedora

build_kernel_fedora_26_debug:
  variables:
    MODE: "all"
  image: fedora:26
  extends: .build_kernel_fedora
265
266

build_kernel_fedora_27_debug:
267
268
  variables:
    MODE: "all"
269
  image: fedora:27
270
  extends: .build_kernel_fedora
271
272

build_kernel_fedora_28_debug:
273
274
  variables:
    MODE: "all"
275
  image: fedora:28
276
  extends: .build_kernel_fedora
277
278

build_kernel_fedora_29_debug:
279
280
  variables:
    MODE: "all"
281
  image: fedora:29
282
283
284
285
286
287
288
289
290
291
292
293
294
  extends: .build_kernel_fedora

build_kernel_fedora_30_debug:
  variables:
    MODE: "all"
  image: fedora:30
  extends: .build_kernel_fedora

build_kernel_fedora_31_debug:
  variables:
    MODE: "all"
  image: fedora:31
  extends: .build_kernel_fedora
295

296
.build_tapasco:
Jaco Hofmann's avatar
Jaco Hofmann committed
297
  stage: build_runtime
Carsten Heinz's avatar
Carsten Heinz committed
298
  retry: 2
299
300
  variables:
    MODE: "release"
301
302
303
304
  tags:
    - Normal
  script:
    - source setup.sh
305
    - tapasco-build-libs --mode=$MODE --skip_driver
306
    - cd build && make package
307

308
309
310
.build_tapasco_fedora:
  before_script:
    - dnf -y install kernel-devel make gcc gcc-c++ elfutils-libelf-devel cmake ncurses-devel python libatomic git rpm-build
311
  artifacts:
Jaco Hofmann's avatar
Jaco Hofmann committed
312
    paths:
313
314
315
316
317
318
319
320
321
322
323
324
325
326
      - build/tapasco-2018.2.1-Linux.rpm
  extends: .build_tapasco

build_tapasco_fedora_24:
  image: fedora:24
  extends: .build_tapasco_fedora

build_tapasco_fedora_25:
  image: fedora:25
  extends: .build_tapasco_fedora

build_tapasco_fedora_26:
  image: fedora:26
  extends: .build_tapasco_fedora
327
328
329

build_tapasco_fedora_27:
  image: fedora:27
330
  extends: .build_tapasco_fedora
331
332
333

build_tapasco_fedora_28:
  image: fedora:28
334
  extends: .build_tapasco_fedora
335
336

build_tapasco_fedora_29:
337
338
  image: fedora:29
  extends: .build_tapasco_fedora
339

340
341
342
build_tapasco_fedora_30:
  image: fedora:30
  extends: .build_tapasco_fedora
343

Carsten Heinz's avatar
Carsten Heinz committed
344
345
346
347
build_tapasco_fedora_31:
  image: fedora:31
  extends: .build_tapasco_fedora

348
349
350
351
352
build_tapasco_fedora_26_debug:
  variables:
    MODE: "debug"
  image: fedora:26
  extends: .build_tapasco_fedora
353
354

build_tapasco_fedora_27_debug:
355
356
  variables:
    MODE: "debug"
357
  image: fedora:27
358
  extends: .build_tapasco_fedora
359
360

build_tapasco_fedora_28_debug:
361
362
  variables:
    MODE: "debug"
363
  image: fedora:28
364
  extends: .build_tapasco_fedora
365
366

build_tapasco_fedora_29_debug:
367
368
  variables:
    MODE: "debug"
369
  image: fedora:29
370
371
372
373
374
375
376
377
  extends: .build_tapasco_fedora

build_tapasco_fedora_30_debug:
  variables:
    MODE: "debug"
  image: fedora:30
  extends: .build_tapasco_fedora

Carsten Heinz's avatar
Carsten Heinz committed
378
379
380
381
382
383
build_tapasco_fedora_31_debug:
  variables:
    MODE: "debug"
  image: fedora:31
  extends: .build_tapasco_fedora

384
385
386
.build_tapasco_ubuntu:
  before_script:
    - apt-get -y update && apt-get -y install build-essential linux-headers-generic python cmake libelf-dev libncurses-dev git rpm
387
  artifacts:
Jaco Hofmann's avatar
Jaco Hofmann committed
388
    paths:
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
      - build/tapasco-2018.2.1-Linux.deb
  extends: .build_tapasco

build_tapasco_ubuntu_16_04:
  image: ubuntu:xenial
  extends: .build_tapasco_ubuntu

build_tapasco_ubuntu_18_04:
  image: ubuntu:bionic
  extends: .build_tapasco_ubuntu

build_tapasco_ubuntu_18_10:
  image: ubuntu:cosmic
  extends: .build_tapasco_ubuntu

build_tapasco_ubuntu_19_04:
  image: ubuntu:disco
  extends: .build_tapasco_ubuntu

build_tapasco_ubuntu_16_04_debug:
  variables:
    MODE: "debug"
  image: ubuntu:xenial
  extends: .build_tapasco_ubuntu

build_tapasco_ubuntu_18_04_debug:
  variables:
    MODE: "debug"
  image: ubuntu:bionic
  extends: .build_tapasco_ubuntu

build_tapasco_ubuntu_18_10_debug:
  variables:
    MODE: "debug"
  image: ubuntu:cosmic
  extends: .build_tapasco_ubuntu

build_tapasco_ubuntu_19_04_debug:
  variables:
    MODE: "debug"
  image: ubuntu:disco
  extends: .build_tapasco_ubuntu
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458

tapasco_hls:
  stage: build_hw
  variables:
    VIVADO_VERSION: "2018.2"
    XILINX_VIVADO: "/opt/cad/xilinx/vivado/Vivado/${VIVADO_VERSION}"
    XILINXD_LICENSE_FILE: "/opt/cad/keys/xilinx"
  tags:
    - CAD
  image: fedora:28
  before_script:
    - dnf -y install which unzip git zip tar findutils libX11 gcc gcc-c++
    - ln -s /lib64/libtinfo.so.6 /lib64/libtinfo.so.5
  script:
    - source $XILINX_VIVADO/settings64.sh
    - which vivado
    - which vivado_hls
    - curl -s "https://get.sdkman.io" | bash
    - source "/root/.sdkman/bin/sdkman-init.sh"
    - sdk install java
    - sdk install sbt
    - source $XILINX_VIVADO/settings64.sh
    - source setup.sh
    - sbt assembly
    - tapasco -v hls counter -p pynq

.tapasco_compose:
  stage: build_hw
Carsten Heinz's avatar
Carsten Heinz committed
459
  retry: 2
460
461
462
463
  variables:
    VIVADO_VERSION: "2018.2"
    XILINX_VIVADO: "/opt/cad/xilinx/vivado/Vivado/${VIVADO_VERSION}"
    XILINXD_LICENSE_FILE: "/opt/cad/keys/xilinx"
464
    PLATFORM: "pynq"
465
466
  tags:
    - CAD
467
    - High
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
  image: fedora:28
  before_script:
    - dnf -y install which unzip git zip tar findutils libX11 gcc gcc-c++ python
    - ln -s /lib64/libtinfo.so.6 /lib64/libtinfo.so.5
  script:
    - source $XILINX_VIVADO/settings64.sh
    - which vivado
    - which vivado_hls
    - curl -s "https://get.sdkman.io" | bash
    - source "/root/.sdkman/bin/sdkman-init.sh"
    - sdk install java
    - sdk install sbt
    - source $XILINX_VIVADO/settings64.sh
    - source setup.sh
    - sbt assembly
    - tapasco hls counter -p pynq --skipEvaluation
484
    - tapasco -v --maxThreads 3 compose [counter x 3] @ 100 MHz -p $PLATFORM
Carsten Heinz's avatar
Carsten Heinz committed
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504

tapasco_compose_17_4:
  variables:
    VIVADO_VERSION: "2017.4"
  extends: .tapasco_compose

tapasco_compose_18_1:
  variables:
    VIVADO_VERSION: "2018.1"
  extends: .tapasco_compose

tapasco_compose_18_2:
  variables:
    VIVADO_VERSION: "2018.2"
  extends: .tapasco_compose

tapasco_compose_18_3:
  variables:
    VIVADO_VERSION: "2018.3"
  extends: .tapasco_compose
505
506
507
508
509
510

tapasco_compose_pcie:
  variables:
    VIVADO_VERSION: "2018.3"
    PLATFORM: "vc709"
  extends: .tapasco_compose