aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.github/ci/build_interchange.sh4
-rw-r--r--.github/workflows/interchange_ci.yml37
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`