name: FPGA interchange CI tests on: [push, pull_request] jobs: Build-yosys: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: recursive - uses: actions/setup-python@v2 - name: Install run: | sudo apt-get update sudo apt-get install git make cmake libboost-all-dev python3-dev libeigen3-dev tcl-dev clang bison flex swig - name: ccache uses: hendrikmuhs/ccache-action@v1 - name: Execute build yosys script run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" source ./.github/ci/build_interchange.sh build_yosys Build-nextpnr: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: recursive - uses: actions/setup-python@v2 - name: Install run: | sudo apt-get update sudo apt-get install git make cmake libboost-all-dev python3-dev libeigen3-dev tcl-dev clang bison flex swig - name: ccache uses: hendrikmuhs/ccache-action@v1 - name: Execute build interchange script run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" source ./.github/ci/build_interchange.sh build_nextpnr Run-Tests: runs-on: ubuntu-latest needs: [Build-yosys, Build-nextpnr] strategy: matrix: device: [xc7a35t, xc7a100t, xc7a200t, xc7z010] steps: - uses: actions/checkout@v2 with: submodules: recursive - uses: actions/setup-python@v2 - name: Install run: | sudo apt-get update sudo apt-get install git make cmake libboost-all-dev python3-dev libeigen3-dev tcl-dev clang bison flex swig - name: ccache uses: hendrikmuhs/ccache-action@v1 - name: Execute build interchange script env: RAPIDWRIGHT_PATH: ${{ github.workspace }}/RapidWright INTERCHANGE_SCHEMA_PATH: ${{ github.workspace }}/3rdparty/fpga-interchange-schema/interchange PYTHON_INTERCHANGE_PATH: ${{ github.workspace }}/python-fpga-interchange PYTHON_INTERCHANGE_TAG: v0.0.4 run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" source ./.github/ci/build_interchange.sh build_yosys && build_nextpnr && get_dependencies - name: Run tests env: DEVICE: ${{ matrix.device }} run: | cd build make chipdb-$DEVICE-bin-check-test-data make chipdb-$DEVICE-bin-check make all-$DEVICE-tests -j`nproc`