89 lines
3.7 KiB
YAML
89 lines
3.7 KiB
YAML
|
|
name: Regression tests
|
|
on: [workflow_dispatch]
|
|
|
|
env:
|
|
installDir: ${{ github.workspace }}/coriolis-2.x/Linux.x86_64/Release.Shared/install
|
|
|
|
jobs:
|
|
Regression-Tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
path: coriolis-2.x/src/coriolis
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
repository: lip6/alliance
|
|
path: coriolis-2.x/src/alliance
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
repository: lip6/alliance-check-toolkit
|
|
path: coriolis-2.x/src/alliance-check-toolkit
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
repository: YosysHQ/yosys
|
|
path: coriolis-2.x/src/yosys
|
|
ref: yosys-0.24
|
|
- name: Update APT cache
|
|
run: sudo apt-get update
|
|
- name: Install software dependencies
|
|
run: >
|
|
sudo apt-get install libboost-all-dev rapidjson-dev \
|
|
python-dev-is-python3 python3-doit \
|
|
qtbase5-dev qtbase5-dev-tools libqt5svg5-dev libqwt-qt5-dev \
|
|
libeigen3-dev liblemon-dev \
|
|
autotools-dev automake \
|
|
libxt-dev libxpm-dev libmotif-dev \
|
|
tcl-dev libffi-dev
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2
|
|
- name: Build Yosys
|
|
run: |
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cd ${{ github.workspace }}/coriolis-2.x/src/yosys
|
|
make ENABLE_PYOSYS=1 config-gcc
|
|
make ENABLE_PYOSYS=1 \
|
|
PREFIX=${{ env.installDir }} \
|
|
PYTHON_DESTDIR=${{ env.installDir }}/lib64/python3/dist-packages \
|
|
LIBDIR=${{ env.installDir }}/lib64/yosys \
|
|
DATDIR=${{ env.installDir }}/share/yosys \
|
|
install
|
|
sudo ln -s ${{ env.installDir }}/bin/* /usr/bin/
|
|
- name: Check Yosys share directory
|
|
run: ls -1 ${{ github.workspace }}/coriolis-2.x/Linux.x86_64/Release.Shared/install/share/yosys
|
|
- name: Build Alliance
|
|
run: |
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
${{ github.workspace }}/coriolis-2.x/src/coriolis/bootstrap/allianceInstaller.sh --github-runner=${{ github.workspace }}
|
|
- name: Build Coriolis
|
|
run: |
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
${{ github.workspace }}/coriolis-2.x/src/coriolis/bootstrap/ccb.py --root=${{ github.workspace }}/coriolis-2.x --project=coriolis --make="-j4 install"
|
|
- name: Check for binaries
|
|
run: ls -1 ${{ github.workspace }}/coriolis-2.x/Linux.x86_64/Release.Shared/install/bin
|
|
- name: Run the reference set of designs
|
|
run: |
|
|
export CORIOLIS_TOP=${{ github.workspace }}/coriolis-2.x/Linux.x86_64/Release.Shared/install
|
|
cd ${{ github.workspace }}/coriolis-2.x/src/alliance-check-toolkit/benchs
|
|
../bin/crlenv.py --verbose
|
|
../bin/gopy.sh --github-runner
|
|
# - name: Bundle installed tree
|
|
# uses: actions/upload-artifact@v3
|
|
# with:
|
|
# name: installed-tree
|
|
# path: ${{ github.workspace }}/coriolis-2.x/Linux.x86_64/Release.Shared/install
|
|
# retention-days: 1
|
|
- name: Archive test design set logs
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: design-set-full-logs
|
|
path: ${{ github.workspace }}/coriolis-2.x/src/alliance-check-toolkit/benchs/doit-gopy.log
|
|
retention-days: 5
|
|
- name: Make the runner fail *after* the log has been saved.
|
|
run: |
|
|
if [ -f ${{ github.workspace }}/coriolis-2.x/src/alliance-check-toolkit/benchs/doit-gopy.failed ]; then
|
|
exit 1
|
|
fi
|