-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitlab-ci.yml
128 lines (120 loc) · 4.86 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
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
stages:
- prepare
- gateware
- software
default:
tags:
- xilinx
variables:
XILINX_VIVADO: /non-free/Xilinx/Vivado_and_Vitis/2020.2.2/Vivado/2020.2
XILINX_VITIS: /non-free/Xilinx/Vivado_and_Vitis/2020.2.2/Vitis/2020.2
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
GIT_SUBMODULE_STRATEGY: normal
# Gateware jobs
# Gitlab doesn't seem to suport the usage of variables in
# a "dependencies" or "needs" statement. So, unroll the job
# description, as to simplify job descriptions
gw_devg_marble:
before_script:
- cd gateware/syn/devg_marble && ls /non-free
stage: gateware
script:
- make clean && PATH=$XILINX_VIVADO/bin:$PATH make devg_marble_top.bit && PATH=$XILINX_VIVADO/bin:$PATH make devg_marble_top.mmi
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 7 days
paths:
- gateware/syn/devg_marble/devg_marble_top.bit
- gateware/syn/devg_marble/devg_marble_top.mmi
- gateware/syn/devg_marble/_xilinx/devg_marble_top/*.runs/impl_1/*.rpt
- gateware/syn/devg_marble/bd.xsa
gw_devg_test_marble:
before_script:
- cd gateware/syn/devg_test_marble && ls /non-free
stage: gateware
script:
- make clean && PATH=$XILINX_VIVADO/bin:$PATH make devg_test_marble_top.bit && PATH=$XILINX_VIVADO/bin:$PATH make devg_test_marble_top.mmi
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 7 days
paths:
- gateware/syn/devg_test_marble/devg_test_marble_top.bit
- gateware/syn/devg_test_marble/devg_test_marble_top.mmi
- gateware/syn/devg_test_marble/_xilinx/devg_test_marble_top/*.runs/impl_1/*.rpt
- gateware/syn/devg_test_marble/bd.xsa
gw_devg_test_internal_pps_marble:
before_script:
- cd gateware/syn/devg_test_internal_pps_marble && ls /non-free
stage: gateware
script:
- make clean && PATH=$XILINX_VIVADO/bin:$PATH make devg_test_internal_pps_marble_top.bit && PATH=$XILINX_VIVADO/bin:$PATH make devg_test_internal_pps_marble_top.mmi
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 7 days
paths:
- gateware/syn/devg_test_internal_pps_marble/devg_test_internal_pps_marble_top.bit
- gateware/syn/devg_test_internal_pps_marble/devg_test_internal_pps_marble_top.mmi
- gateware/syn/devg_test_internal_pps_marble/_xilinx/devg_test_internal_pps_marble_top/*.runs/impl_1/*.rpt
- gateware/syn/devg_test_internal_pps_marble/bd.xsa
# Software jobs
# Gitlab doesn't seem to suport the usage of variables in
# a "dependencies" or "needs" statement. So, unroll the job
# description...
sw_devg_marble:
before_script:
- cd software/app/devg
stage: software
script:
- make TARGET=devg_marble clean && PATH=$XILINX_VITIS/bin:$XILINX_VITIS/gnu/microblaze/lin/bin:$PATH make TARGET=devg_marble
# Get artifacts from this job, needed to compile the sofware
needs:
- job: gw_devg_marble
artifacts: true
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 7 days
paths:
- software/app/devg/proc_0/devg_marble_proc_0.elf
- software/app/devg/proc_1/devg_marble_proc_1.elf
- software/app/devg/proc_0/devg_marble_proc_0.elf.size
- software/app/devg/proc_1/devg_marble_proc_1.elf.size
- software/app/devg/devg_marble*.bit
sw_devg_test_marble:
before_script:
- cd software/app/devg_test
stage: software
script:
- make TARGET=devg_test_marble clean && PATH=$XILINX_VITIS/bin:$XILINX_VITIS/gnu/microblaze/lin/bin:$PATH make TARGET=devg_test_marble
# Get artifacts from this job, needed to compile the sofware
needs:
- job: gw_devg_test_marble
artifacts: true
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 7 days
paths:
- software/app/devg_test/proc_0/devg_test_marble_proc_0.elf
- software/app/devg_test/proc_1/devg_test_marble_proc_1.elf
- software/app/devg_test/proc_0/devg_test_marble_proc_0.elf.size
- software/app/devg_test/proc_1/devg_test_marble_proc_1.elf.size
- software/app/devg_test/devg_test_marble*.bit
sw_devg_test_internal_pps_marble:
before_script:
- cd software/app/devg_test
stage: software
script:
- make TARGET=devg_test_internal_pps_marble clean && PATH=$XILINX_VITIS/bin:$XILINX_VITIS/gnu/microblaze/lin/bin:$PATH make TARGET=devg_test_internal_pps_marble
# Get artifacts from this job, needed to compile the sofware
needs:
- job: gw_devg_test_internal_pps_marble
artifacts: true
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 7 days
paths:
- software/app/devg_test/proc_0/devg_test_internal_pps_marble_proc_0.elf
- software/app/devg_test/proc_1/devg_test_internal_pps_marble_proc_1.elf
- software/app/devg_test/proc_0/devg_test_internal_pps_marble_proc_0.elf.size
- software/app/devg_test/proc_1/devg_test_internal_pps_marble_proc_1.elf.size
- software/app/devg_test/devg_test_internal_pps_marble*.bit