-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
106 lines (101 loc) · 3.62 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
stages:
- prepare
- gateware
- software
default:
tags:
- xilinx-bookworm
variables:
XILINX_VIVADO: /non-free/Xilinx/Vivado_and_Vitis/2022.1/Vivado/2022.1
XILINX_VITIS: /non-free/Xilinx/Vivado_and_Vitis/2022.1/Vitis/2022.1
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
GIT_SUBMODULE_STRATEGY: normal
FF_SCRIPT_SECTIONS: "true"
# Gateware jobs
gw_dsbpm:
before_script:
- cd gateware/syn/dsbpm_${PLATFORM} && ls /non-free
stage: gateware
script:
- make clean && PATH=$XILINX_VIVADO/bin:$PATH make dsbpm_${PLATFORM}_top.bit
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 4 weeks
paths:
- gateware/syn/dsbpm_${PLATFORM}/dsbpm_${PLATFORM}_top.bit
- gateware/syn/dsbpm_${PLATFORM}/_xilinx/dsbpm_${PLATFORM}_top/*.runs/impl_1/*.rpt
- gateware/syn/dsbpm_${PLATFORM}/system.xsa
parallel:
matrix:
- PLATFORM: [zcu208, lbl208]
# Software jobs
# Gitlab doesn't seem to suport the usage of variables in
# a matrix:parallel statement. So, deuplicate the variables in
# the variables section
sw_dsbpm_zcu208:
variables:
PLATFORM: zcu208
before_script:
- python3 -m pip install -r requirements.txt
- cd software/app/dsbpm
stage: software
script:
- >
make SAMPLES_PER_TURN=${SAMPLES_PER_TURN} VCXO_TYPE=${VCXO_TYPE} TARGET=dsbpm_${PLATFORM} clean &&
PATH=$XILINX_VITIS/bin:$XILINX_VITIS/gnu/aarch64/lin/aarch64-none/bin:$PATH
make SAMPLES_PER_TURN=${SAMPLES_PER_TURN} VCXO_TYPE=${VCXO_TYPE} TARGET=dsbpm_${PLATFORM}
# Get artifacts from this job, needed to compile the sofware
needs:
- job: gw_dsbpm
parallel:
matrix:
- PLATFORM: zcu208
artifacts: true
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 4 weeks
paths:
- software/app/dsbpm/dsbpm_${PLATFORM}_vcxo_${VCXO_TYPE}_spt_${SAMPLES_PER_TURN}/platform/zynqmp_fsbl/fsbl_a53.elf
- software/app/dsbpm/dsbpm_${PLATFORM}_vcxo_${VCXO_TYPE}_spt_${SAMPLES_PER_TURN}/platform/export/platform/sw/platform/boot/pmufw.elf
- software/app/dsbpm/dsbpm_${PLATFORM}_vcxo_${VCXO_TYPE}_spt_${SAMPLES_PER_TURN}.elf
- software/app/dsbpm/dsbpm_${PLATFORM}_vcxo_${VCXO_TYPE}_spt_${SAMPLES_PER_TURN}*.bin
parallel:
matrix:
- SAMPLES_PER_TURN: [77, 81]
VCXO_TYPE: 117
- SAMPLES_PER_TURN: 81
VCXO_TYPE: 160
sw_dsbpm_lbl208:
variables:
PLATFORM: lbl208
before_script:
- python3 -m pip install -r requirements.txt
- cd software/app/dsbpm
stage: software
script:
- >
make SAMPLES_PER_TURN=${SAMPLES_PER_TURN} VCXO_TYPE=${VCXO_TYPE} TARGET=dsbpm_${PLATFORM} clean &&
PATH=$XILINX_VITIS/bin:$XILINX_VITIS/gnu/aarch64/lin/aarch64-none/bin:$PATH
make SAMPLES_PER_TURN=${SAMPLES_PER_TURN} VCXO_TYPE=${VCXO_TYPE} TARGET=dsbpm_${PLATFORM}
# Get artifacts from this job, needed to compile the sofware
needs:
- job: gw_dsbpm
parallel:
matrix:
- PLATFORM: lbl208
artifacts: true
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
expire_in: 4 weeks
paths:
- software/app/dsbpm/dsbpm_${PLATFORM}_vcxo_${VCXO_TYPE}_spt_${SAMPLES_PER_TURN}/platform/zynqmp_fsbl/fsbl_a53.elf
- software/app/dsbpm/dsbpm_${PLATFORM}_vcxo_${VCXO_TYPE}_spt_${SAMPLES_PER_TURN}/platform/export/platform/sw/platform/boot/pmufw.elf
- software/app/dsbpm/dsbpm_${PLATFORM}_vcxo_${VCXO_TYPE}_spt_${SAMPLES_PER_TURN}.elf
- software/app/dsbpm/dsbpm_${PLATFORM}_vcxo_${VCXO_TYPE}_spt_${SAMPLES_PER_TURN}*.bin
parallel:
matrix:
- SAMPLES_PER_TURN: [77, 81]
VCXO_TYPE: 117
- SAMPLES_PER_TURN: 81
VCXO_TYPE: 160