blob: 3653ed9da8ded0fd91b7240b6beffa2ff76fef44 [file] [log] [blame]
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/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/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