forked from jrrk2/prjxray
-
Notifications
You must be signed in to change notification settings - Fork 2
132 lines (106 loc) · 3.31 KB
/
Pipeline.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
129
130
131
132
name: Pipeline
on:
workflow_call:
secrets:
LICENSE_TUNNEL_KEY_DATA:
required: false
jobs:
BuildDatabase:
container: ubuntu:focal
runs-on: [self-hosted, Linux, X64]
timeout-minutes: 600
strategy:
fail-fast: false
matrix:
family: ['artix7', 'zynq7', 'kintex7', 'spartan7']
env:
GHA_SSH_TUNNEL_KEY: "${{ secrets.LICENSE_TUNNEL_KEY_DATA }}"
GHA_SSH_TUNNEL_CONFIG: "${{ secrets.LICENSE_TUNNEL_SSH_CONFIG }}"
GHA_SSH_TUNNEL_CONFIG_SECRET_NAME: "xilinx_license_server_config"
GHA_SSH_TUNNEL_KEY_SECRET_NAME: "xilinx_license_server_key"
ALLOW_ROOT: true
GHA_EXTERNAL_DISK: "tools"
XILINX_LOCAL_USER_DATA: "no"
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install
run: |
DEBIAN_FRONTEND=noninteractive apt update -qq
DEBIAN_FRONTEND=noninteractive apt install -qq -y \
bash \
bison \
build-essential \
ca-certificates \
clang-format \
cmake \
colordiff \
coreutils \
flex \
git \
iproute2 \
iputils-ping \
libtinfo5 \
netcat-openbsd \
psmisc \
python3 \
python3-dev \
python3-venv \
xsltproc \
sudo \
- name: Xilinx Setup
run: |
git config --global --add safe.directory /root/prjxray/prjxray
.github/workflows/scripts/xilinx.sh
env:
USE_LICENSE_SERVER: "true"
XRAY_SETTINGS: ${{ matrix.family }}
- name: Build
run: make build --output-sync=target --warn-undefined-variables -j$(nproc)
- name: Environment
run: make env --output-sync=target --warn-undefined-variables
- name: Run Test
run: .github/workflows/scripts/db.sh
env:
XRAY_SETTINGS: ${{ matrix.family }}
- uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: ${{ matrix.family }}
path: |
**/results*.gz
**/plot_*.svg
**/diff.html
**/diff.json
**/diff.patch
**/*sponge_log.xml
**/fuzzers/*.tgz
**/database/${{ matrix.family }}/**"
Tests:
container: ubuntu:focal
runs-on: [self-hosted, Linux, X64]
env:
ALLOW_ROOT: true
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install
run: |
DEBIAN_FRONTEND=noninteractive apt update -qq
DEBIAN_FRONTEND=noninteractive apt install -qq -y \
bash bison build-essential ca-certificates clang-format cmake psmisc \
colordiff coreutils git flex python3 python3-dev python3-venv xsltproc libtinfo5
- name: Build
run: make build --output-sync=target --warn-undefined-variables -j$(nproc)
- name: Environment
run: make env --output-sync=target --warn-undefined-variables
- name: Run Test
run: make test --output-sync=target --warn-undefined-variables
- uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
path: |
**/results*.gz
**/plot_*.svg