-
Notifications
You must be signed in to change notification settings - Fork 4
/
.gitlab-ci.yml
63 lines (57 loc) · 1.63 KB
/
.gitlab-ci.yml
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
include:
- template: 'Workflows/Branch-Pipelines.gitlab-ci.yml'
stages:
- sim
- synth
variables:
GIT_STRATEGY: clone
SEED: 0
RANDOMIZE_SEED: 0
.common:
image: $CI_REGISTRY/ht/xilinx-tools-docker:57417-g8408f7c3
before_script:
- git clone https://gitlab.es.net/ht/open-nic-shell.git
- make -s config BOARD_REPO=$CI_PROJECT_DIR/open-nic-shell/board_files/Xilinx
- if [ $RANDOMIZE_SEED -gt 0 ]; then export SEED=$RANDOM; fi
- echo "Running pipeline with SEED $SEED..."
variables:
XILINXD_LICENSE_FILE: "[email protected]"
# Required to keep click python module happy
LC_ALL: C.UTF-8
LANG: C.UTF-8
GIT_SUBMODULE_STRATEGY: recursive
sim:
stage: sim
extends: .common
tags:
- ht-sim
script:
- shopt -s globstar
- for testsuite in src/**/tests/**/regression; do make -s -C $testsuite; done
- for testsuite in src/**/tests/**/regression; do grep -vqz '<failure' $testsuite/run_*/tests.xml; done
artifacts:
name: "artifacts.$CI_PROJECT_NAME.$CI_JOB_NAME.$CI_PIPELINE_ID"
reports:
junit:
- src/**/tests/**/regression/run_*/tests.xml
when: always
needs:
timeout: 3h
synth:
stage: synth
extends: .common
tags:
- ht-sim
parallel:
matrix:
- COMPONENT: [sync, mem, fifo, axi4l, db, htable, state, packet]
script:
# Run all build jobs in specified component library
- find src/$COMPONENT/build -mindepth 1 -maxdepth 1 -type d -name '[^\.]*' | xargs -n1 sh -c 'make -s -C $0 || exit 255'
artifacts:
when: always
paths: [.out/$COMPONENT/build]
reports:
junit:
- .out/$COMPONENT/build/**/*.summary.xml
needs: