aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-03-26 18:39:18 +0000
committerGitHub <noreply@github.com>2021-03-26 18:39:18 +0000
commit4419c36db5556d2a7f600517d6a4b5673067579d (patch)
treefcf062ce78d28db2de990ea5d4424d46f4404487
parent0e9a1abc7ec083249e5aba0cfd8db51e0fed7aa6 (diff)
parentd0bc033ab80e6c36378de8e22b0e30db79ab3b75 (diff)
downloadnextpnr-4419c36db5556d2a7f600517d6a4b5673067579d.tar.gz
nextpnr-4419c36db5556d2a7f600517d6a4b5673067579d.tar.bz2
nextpnr-4419c36db5556d2a7f600517d6a4b5673067579d.zip
Merge pull request #649 from acomodi/add-archcheck-to-all-tests
interchange: add archcheck tests to all-device-test target
-rwxr-xr-x.github/ci/build_interchange.sh4
-rw-r--r--.github/workflows/interchange_ci.yml39
-rw-r--r--fpga_interchange/examples/chipdb.cmake7
3 files changed, 41 insertions, 9 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 8b16d795..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,23 +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 chipdb-$DEVICE-bin-check-test-data
- make chipdb-$DEVICE-bin-check
make all-$DEVICE-tests -j`nproc`
diff --git a/fpga_interchange/examples/chipdb.cmake b/fpga_interchange/examples/chipdb.cmake
index 60814845..3cca7840 100644
--- a/fpga_interchange/examples/chipdb.cmake
+++ b/fpga_interchange/examples/chipdb.cmake
@@ -370,6 +370,11 @@ function(generate_chipdb)
add_dependencies(all-${family}-archcheck-tests chipdb-${device}-bin-check-test-data chipdb-${device}-bin-check)
# All tests targets for this device are added to this target
- add_custom_target(all-${device}-tests)
+ add_custom_target(
+ all-${device}-tests
+ DEPENDS
+ chipdb-${device}-bin-check-test-data
+ chipdb-${device}-bin-check
+ )
endfunction()