mirror of https://github.com/openXC7/prjxray.git
129 lines
3.2 KiB
YAML
129 lines
3.2 KiB
YAML
name: Pipeline
|
|
|
|
on:
|
|
workflow_call:
|
|
secrets:
|
|
LICENSE_TUNNEL_KEY_DATA:
|
|
required: false
|
|
|
|
jobs:
|
|
|
|
|
|
BuildDatabase:
|
|
container: ubuntu:focal
|
|
|
|
runs-on: [self-hosted, Linux, X64]
|
|
|
|
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: .github/workflows/scripts/xilinx.sh
|
|
env:
|
|
USE_LICENSE_SERVER: "true"
|
|
|
|
- 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
|