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

after_script:
  - echo "Done with the work"

stages:
8 9
  - test_scala_toolflow
  - build_scala_toolflow
10 11
  - build_kernel
  - build_runtime
12
  - build_hw
13

14
.test_tapasco_ubuntu:
15
  stage: test_scala_toolflow
Carsten Heinz's avatar
Carsten Heinz committed
16
  retry: 2
17
  dependencies: []
Jaco Hofmann's avatar
Jaco Hofmann committed
18
  tags:
19 20
    - High
  script:
21
    - apt-get -y update && apt-get -y install unzip git zip findutils curl default-jdk
22
    - ./tapasco-init.sh && source tapasco-setup.sh
23 24
    - cd ${TAPASCO_HOME_TOOLFLOW}/scala
    - ./gradlew test
25

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
test_tapasco_ubuntu_16_04:
  image: ubuntu:xenial
  extends: .test_tapasco_ubuntu

test_tapasco_ubuntu_18_04:
  image: ubuntu:bionic
  extends: .test_tapasco_ubuntu

test_tapasco_ubuntu_18_10:
  image: ubuntu:cosmic
  extends: .test_tapasco_ubuntu

test_tapasco_ubuntu_19_04:
  image: ubuntu:disco
  extends: .test_tapasco_ubuntu

.test_tapasco_fedora:
43
  stage: test_scala_toolflow
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
  retry: 2
  tags:
    - High
  before_script:
    - dnf -y install which java-openjdk findutils
  script:
    - ./tapasco-init.sh && source tapasco-setup.sh
    - cd ${TAPASCO_HOME_TOOLFLOW}/scala
    - ./gradlew test

test_tapasco_fedora_24:
  image: fedora:24
  extends: .test_tapasco_fedora

test_tapasco_fedora_25:
  image: fedora:25
  extends: .test_tapasco_fedora

test_tapasco_fedora_26:
  image: fedora:26
  extends: .test_tapasco_fedora

test_tapasco_fedora_27:
  image: fedora:27
  extends: .test_tapasco_fedora

test_tapasco_fedora_28:
  image: fedora:28
  extends: .test_tapasco_fedora

test_tapasco_fedora_29:
  image: fedora:29
  extends: .test_tapasco_fedora
77 78
  before_script:
    - dnf -y install which findutils java-11-openjdk
79 80 81 82

test_tapasco_fedora_30:
  image: fedora:30
  extends: .test_tapasco_fedora
83 84
  before_script:
  - dnf -y install which findutils java-11-openjdk
85 86 87 88

test_tapasco_fedora_31:
  image: fedora:31
  extends: .test_tapasco_fedora
89

90
.build_scala_tapasco_fedora:
91
  stage: build_scala_toolflow
Carsten Heinz's avatar
Carsten Heinz committed
92
  retry: 2
93
  dependencies: []
94
  tags:
95
    - High
96
  before_script:
97
    - dnf -y install which java-openjdk findutils
98
  script:
99
    - ./tapasco-init.sh && source tapasco-setup.sh
100
    - cd ${TAPASCO_HOME_TOOLFLOW}/scala
101
    - tapasco-build-toolflow
102 103 104 105
    - ./gradlew buildRPM
  artifacts:
    paths:
      - toolflow/scala/build/distributions/tapasco-2019-10.x86_64.rpm
106

107
build_scala_tapasco_fedora_24:
108
  image: fedora:24
109
  extends: .build_scala_tapasco_fedora
110

111
build_scala_tapasco_fedora_25:
112
  image: fedora:25
113
  extends: .build_scala_tapasco_fedora
114

115
build_scala_tapasco_fedora_26:
116
  image: fedora:26
117
  extends: .build_scala_tapasco_fedora
118

119
build_scala_tapasco_fedora_27:
120
  image: fedora:27
121
  extends: .build_scala_tapasco_fedora
122

123
build_scala_tapasco_fedora_28:
124
  image: fedora:28
125
  extends: .build_scala_tapasco_fedora
126

127
build_scala_tapasco_fedora_29:
128
  image: fedora:29
129
  extends: .build_scala_tapasco_fedora
130 131
  before_script:
    - dnf -y install which findutils java-11-openjdk
132

133
build_scala_tapasco_fedora_30:
134
  image: fedora:30
135
  extends: .build_scala_tapasco_fedora
136 137
  before_script:
    - dnf -y install which findutils java-11-openjdk
138

139
build_scala_tapasco_fedora_31:
140
  image: fedora:31
141
  extends: .build_scala_tapasco_fedora
142

143
.build_scala_tapasco_ubuntu:
144 145
  stage: build_scala_toolflow
  retry: 2
146
  dependencies: []
147 148
  tags:
    - High
149
  before_script:
150
    - apt-get -y update && apt-get -y install default-jdk findutils
151
  script:
152
    - ./tapasco-init.sh && source tapasco-setup.sh
153
    - cd ${TAPASCO_HOME_TOOLFLOW}/scala
154
    - tapasco-build-toolflow
155
    - ./gradlew buildDEB
156 157 158
  artifacts:
    paths:
      - toolflow/scala/build/distributions/tapasco_2019-10_amd64.deb
159

160
build_scala_tapasco_ubuntu_16_04:
161
  image: ubuntu:xenial
162
  extends: .build_scala_tapasco_ubuntu
163

164
build_scala_tapasco_ubuntu_18_04:
165
  image: ubuntu:bionic
166
  extends: .build_scala_tapasco_ubuntu
167

168
build_scala_tapasco_ubuntu_18_10:
169
  image: ubuntu:cosmic
170
  extends: .build_scala_tapasco_ubuntu
171

172
build_scala_tapasco_ubuntu_19_04:
173
  image: ubuntu:disco
174
  extends: .build_scala_tapasco_ubuntu
175

176 177 178
# build kernel module
# as we are running in a docker instance, we cannot use tapasco-build-libs
.build_kernel_ubuntu:
179
  stage: build_kernel
Carsten Heinz's avatar
Carsten Heinz committed
180
  retry: 2
181
  dependencies: []
182 183
  variables:
    MODE: "release"
184 185 186 187
  tags:
    - Normal
  script:
    - apt-get -y update && apt-get -y install build-essential linux-headers-generic python libelf-dev
188
    - ./tapasco-init.sh && source tapasco-setup.sh
189
    - for d in `ls /lib/modules`; do echo "Building for linux headers in $d"; pushd runtime/kernel; make LINUX_HOME="/lib/modules/$d/build" clean && make LINUX_HOME=/lib/modules/$d/build -j 1 $MODE; popd; done
190 191
  artifacts:
    paths:
192
      - runtime/kernel/tlkm.ko
193

194 195 196 197
build_kernel_ubuntu_16_04:
  image: ubuntu:xenial
  extends: .build_kernel_ubuntu

198
build_kernel_ubuntu_18_04:
199 200 201 202
  image: ubuntu:bionic
  extends: .build_kernel_ubuntu

build_kernel_ubuntu_18_10:
203
  image: ubuntu:cosmic
204
  extends: .build_kernel_ubuntu
205

206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
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

234
build_kernel_32bit_debug:
235
  stage: build_kernel
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250
  variables:
    MODE: "all"
  image: i386/ubuntu
  retry: 2
  dependencies: []
  tags:
    - Normal
  script:
    - apt-get -y update && apt-get -y install build-essential linux-headers-generic python libelf-dev
    - ./tapasco-init.sh && source tapasco-setup.sh
    - for d in `ls /lib/modules`; do echo "Building for linux headers in $d"; pushd runtime/kernel; make LINUX_HOME="/lib/modules/$d/build" clean && CPPFLAGS="-Wno-error=pointer-to-int-cast -Wno-error=int-to-pointer-cast" make LINUX_HOME=/lib/modules/$d/build -j 1 $MODE; popd; done
  artifacts:
    paths:
      - runtime/kernel/tlkm.ko

251
.build_kernel_fedora:
252
  stage: build_kernel
Carsten Heinz's avatar
Carsten Heinz committed
253
  retry: 2
254
  dependencies: []
255 256
  variables:
    MODE: "release"
257 258 259 260
  tags:
    - Normal
  script:
    - dnf -y install kernel-devel make gcc gcc-c++ elfutils-libelf-devel
261
    - ./tapasco-init.sh && source tapasco-setup.sh
262
    - for d in `ls /usr/src/kernels/`; do echo "Building for linux headers in $d"; pushd runtime/kernel; make LINUX_HOME="/usr/src/kernels/$d" clean && make LINUX_HOME=/usr/src/kernels/$d -j 1 $MODE; popd; done
263 264
  artifacts:
    paths:
265
      - runtime/kernel/tlkm.ko
266

267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
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

283 284
build_kernel_fedora_28:
  image: fedora:28
285
  extends: .build_kernel_fedora
286 287 288

build_kernel_fedora_29:
  image: fedora:29
289
  extends: .build_kernel_fedora
290

291 292 293
build_kernel_fedora_30:
  image: fedora:30
  extends: .build_kernel_fedora
294

295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
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
316 317

build_kernel_fedora_27_debug:
318 319
  variables:
    MODE: "all"
320
  image: fedora:27
321
  extends: .build_kernel_fedora
322 323

build_kernel_fedora_28_debug:
324 325
  variables:
    MODE: "all"
326
  image: fedora:28
327
  extends: .build_kernel_fedora
328 329

build_kernel_fedora_29_debug:
330 331
  variables:
    MODE: "all"
332
  image: fedora:29
333 334 335 336 337 338 339 340 341 342 343 344 345
  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
346

347
.build_tapasco:
348
  stage: build_runtime
Carsten Heinz's avatar
Carsten Heinz committed
349
  retry: 2
350 351
  variables:
    MODE: "release"
352
    TARGET: ""
353
  dependencies: []
354 355 356
  tags:
    - Normal
  script:
357
    - ./tapasco-init.sh && source tapasco-setup.sh
358 359
    - tapasco-build-libs --mode=$MODE --target=$TARGET --skip_driver
    - cd build* && make package
360

361 362 363
.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
364
  artifacts:
Jaco Hofmann's avatar
Jaco Hofmann committed
365
    paths:
366
      - build/tapasco-*-Linux.rpm
367 368 369 370 371 372 373 374 375 376 377 378 379
  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
380 381 382

build_tapasco_fedora_27:
  image: fedora:27
383
  extends: .build_tapasco_fedora
384 385 386

build_tapasco_fedora_28:
  image: fedora:28
387
  extends: .build_tapasco_fedora
388 389

build_tapasco_fedora_29:
390 391
  image: fedora:29
  extends: .build_tapasco_fedora
392

393 394 395
build_tapasco_fedora_30:
  image: fedora:30
  extends: .build_tapasco_fedora
396

397 398 399 400
build_tapasco_fedora_31:
  image: fedora:31
  extends: .build_tapasco_fedora

401 402 403 404 405
build_tapasco_fedora_26_debug:
  variables:
    MODE: "debug"
  image: fedora:26
  extends: .build_tapasco_fedora
406 407

build_tapasco_fedora_27_debug:
408 409
  variables:
    MODE: "debug"
410
  image: fedora:27
411
  extends: .build_tapasco_fedora
412 413

build_tapasco_fedora_28_debug:
414 415
  variables:
    MODE: "debug"
416
  image: fedora:28
417
  extends: .build_tapasco_fedora
418 419

build_tapasco_fedora_29_debug:
420 421
  variables:
    MODE: "debug"
422
  image: fedora:29
423 424 425 426 427 428 429 430
  extends: .build_tapasco_fedora

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

431 432 433 434 435 436
build_tapasco_fedora_31_debug:
  variables:
    MODE: "debug"
  image: fedora:31
  extends: .build_tapasco_fedora

437 438 439
.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
440
  artifacts:
Jaco Hofmann's avatar
Jaco Hofmann committed
441
    paths:
442
      - build/tapasco-*-Linux.deb
443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460
  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

461 462 463 464 465 466 467 468
build_tapasco_ubuntu_19_04_cross:
  variables:
    TARGET: "zynq"
  image: ubuntu:disco
  before_script:
    - apt-get -y update && apt-get -y install build-essential linux-headers-generic python cmake libelf-dev libncurses-dev git rpm gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
  extends: .build_tapasco_ubuntu

469 470 471 472 473 474 475 476
build_tapasco_ubuntu_19_04_clang:
  variables:
    TARGET: "clang"
  image: ubuntu:disco
  before_script:
    - apt-get -y update && apt-get -y install build-essential linux-headers-generic python cmake libelf-dev libncurses-dev git rpm clang
  extends: .build_tapasco_ubuntu

477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499
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
500

501 502 503 504 505 506 507 508 509
build_tapasco_ubuntu_19_04_cross_debug:
  variables:
    MODE: "debug"
    TARGET: "zynq"
  image: ubuntu:disco
  before_script:
    - apt-get -y update && apt-get -y install build-essential linux-headers-generic python cmake libelf-dev libncurses-dev git rpm gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
  extends: .build_tapasco_ubuntu

510
tapasco_compose_ubuntu:
511 512
  stage: build_hw
  variables:
513
    VIVADO_VERSION: "2019.1"
514 515 516 517
    XILINX_VIVADO: "/opt/cad/xilinx/vivado/Vivado/${VIVADO_VERSION}"
    XILINXD_LICENSE_FILE: "/opt/cad/keys/xilinx"
  tags:
    - CAD
518
  image: ubuntu:disco
519
  dependencies:
520
    - build_scala_tapasco_ubuntu_19_04
521 522
  script:
    - source $XILINX_VIVADO/settings64.sh
523
    - apt-get -y update
Jaco Hofmann's avatar
Jaco Hofmann committed
524
    - apt-get -y install libtinfo5 build-essential
525
    - apt -y install ./toolflow/scala/build/distributions/tapasco_2019-10_amd64.deb
526 527
    - /opt/tapasco/tapasco-init-toolflow.sh
    - source tapasco-setup-toolflow.sh
528
    - tapasco -v hls counter -p pynq
529
    - tapasco -v --maxThreads 3 compose [counter x 3] @ 100 MHz -p pynq
530 531 532

.tapasco_compose:
  stage: build_hw
Carsten Heinz's avatar
Carsten Heinz committed
533
  retry: 2
534
  variables:
535
    VIVADO_VERSION: "2019.1"
536 537
    XILINX_VIVADO: "/opt/cad/xilinx/vivado/Vivado/${VIVADO_VERSION}"
    XILINXD_LICENSE_FILE: "/opt/cad/keys/xilinx"
538
    PLATFORM: "pynq"
539 540
  tags:
    - CAD
541
    - High
542
  image: fedora:28
543 544
  dependencies:
    - build_scala_tapasco_fedora_28
545 546 547 548 549 550 551
  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
552 553 554 555
    - dnf -y install toolflow/scala/build/distributions/tapasco-2019-10.x86_64.rpm
    - /opt/tapasco/tapasco-init-toolflow.sh
    - source tapasco-setup-toolflow.sh
    - tapasco hls counter -p $PLATFORM --skipEvaluation
556
    - tapasco -v --maxThreads 3 compose [counter x 3] @ 100 MHz -p $PLATFORM
557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576

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
577

Carsten Heinz's avatar
Carsten Heinz committed
578 579 580 581 582
tapasco_compose_19_1:
  variables:
    VIVADO_VERSION: "2019.1"
  extends: .tapasco_compose

583 584 585 586 587
tapasco_compose_pcie:
  variables:
    VIVADO_VERSION: "2018.3"
    PLATFORM: "vc709"
  extends: .tapasco_compose