diff options
Diffstat (limited to '.github')
-rwxr-xr-x | .github/ci/build_interchange.sh | 4 | ||||
-rw-r--r-- | .github/workflows/interchange_ci.yml | 37 |
2 files changed, 35 insertions, 6 deletions
diff --git a/.github/ci/build_interchange.sh b/.github/ci/build_interchange.sh index d20dba67..1d2ee9dc 100755 --- a/.github/ci/build_interchange.sh +++ b/.github/ci/build_interchange.sh @@ -19,10 +19,10 @@ function build_capnp { # Install latest Yosys function build_yosys { - git clone https://github.com/YosysHQ/yosys.git + DESTDIR=`pwd`/.yosys pushd yosys make -j`nproc` - sudo make install + sudo make install DESTDIR=$DESTDIR popd } diff --git a/.github/workflows/interchange_ci.yml b/.github/workflows/interchange_ci.yml index 6cedef94..4639b261 100644 --- a/.github/workflows/interchange_ci.yml +++ b/.github/workflows/interchange_ci.yml @@ -21,11 +21,22 @@ jobs: - name: ccache uses: hendrikmuhs/ccache-action@v1 - - name: Execute build yosys script + - name: Get yosys + run: git clone https://github.com/YosysHQ/yosys.git + + - name: Cache yosys installation + uses: actions/cache@v2 + id: cache-yosys + with: + path: .yosys + key: cache-yosys-${{ hashFiles('**/yosys/.git/HEAD') }} + + - name: Build yosys run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" source ./.github/ci/build_interchange.sh build_yosys + if: steps.cache-yosys.outputs.cache-hit != 'true' Build-nextpnr: runs-on: ubuntu-latest @@ -45,7 +56,7 @@ jobs: - name: ccache uses: hendrikmuhs/ccache-action@v1 - - name: Execute build interchange script + - name: Execute build nextpnr run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" source ./.github/ci/build_interchange.sh @@ -73,21 +84,39 @@ jobs: - name: ccache uses: hendrikmuhs/ccache-action@v1 + - name: Get yosys + run: git clone https://github.com/YosysHQ/yosys.git + + - name: Cache yosys installation + uses: actions/cache@v2 + id: cache-yosys + with: + path: .yosys + key: cache-yosys-${{ hashFiles('**/yosys/.git/HEAD') }} + + - name: Build yosys + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + source ./.github/ci/build_interchange.sh + build_yosys + if: steps.cache-yosys.outputs.cache-hit != 'true' + - 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 + build_nextpnr && get_dependencies - name: Run tests env: DEVICE: ${{ matrix.device }} run: | + export PATH="$GITHUB_WORKSPACE/.yosys/usr/local/bin:$PATH" + which yosys cd build make all-$DEVICE-tests -j`nproc` |