ci: Use GH only for Mistral and fpga-interchange

Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
gatecat 2021-05-15 15:49:02 +01:00
parent 3bb94192d5
commit 6cef569155
3 changed files with 58 additions and 2 deletions

View File

@ -6,13 +6,12 @@ task:
dockerfile: .cirrus/Dockerfile.ubuntu20.04 dockerfile: .cirrus/Dockerfile.ubuntu20.04
submodule_script: git submodule sync --recursive && git submodule update --init --recursive submodule_script: git submodule sync --recursive && git submodule update --init --recursive
build_script: mkdir build && cd build && cmake .. -DARCH=all+alpha -DOXIDE_INSTALL_PREFIX=$HOME/.cargo -DBUILD_TESTS=on -DBUILD_GUI=on -DWERROR=on && make -j3 build_script: mkdir build && cd build && cmake .. -DARCH='ecp5;generic;gowin;ice40;machxo2;nexus' -DOXIDE_INSTALL_PREFIX=$HOME/.cargo -DBUILD_TESTS=on -DBUILD_GUI=on -DWERROR=on && make -j3
test_generic_script: cd build && ./nextpnr-generic-test test_generic_script: cd build && ./nextpnr-generic-test
flow_test_generic_script: export NPNR=$(pwd)/build/nextpnr-generic && cd tests/generic/flow && ./run.sh flow_test_generic_script: export NPNR=$(pwd)/build/nextpnr-generic && cd tests/generic/flow && ./run.sh
test_ice40_script: cd build && ./nextpnr-ice40-test test_ice40_script: cd build && ./nextpnr-ice40-test
smoketest_ice40_script: export NEXTPNR=$(pwd)/build/nextpnr-ice40 && cd ice40/smoketest/attosoc && ./smoketest.sh smoketest_ice40_script: export NEXTPNR=$(pwd)/build/nextpnr-ice40 && cd ice40/smoketest/attosoc && ./smoketest.sh
test_ecp5_script: cd build && ./nextpnr-ecp5-test test_ecp5_script: cd build && ./nextpnr-ecp5-test
test_fpga_interchange_script: cd build && ./nextpnr-fpga_interchange-test
smoketest_generic_script: export NEXTPNR=$(pwd)/build/nextpnr-generic && cd generic/examples && ./simple.sh && ./simtest.sh smoketest_generic_script: export NEXTPNR=$(pwd)/build/nextpnr-generic && cd generic/examples && ./simple.sh && ./simtest.sh
regressiontest_ice40_script: make -j $(nproc) -C tests/ice40/regressions NPNR=$(pwd)/build/nextpnr-ice40 regressiontest_ice40_script: make -j $(nproc) -C tests/ice40/regressions NPNR=$(pwd)/build/nextpnr-ice40
regressiontest_ecp5_script: make -j $(nproc) -C tests/ecp5/regressions NPNR=$(pwd)/build/nextpnr-ecp5 regressiontest_ecp5_script: make -j $(nproc) -C tests/ecp5/regressions NPNR=$(pwd)/build/nextpnr-ecp5

24
.github/ci/build_mistral.sh vendored Normal file
View File

@ -0,0 +1,24 @@
#!/bin/bash
function get_dependencies {
# Fetch mistral
mkdir -p ${MISTRAL_PATH}
git clone --recursive https://github.com/Ravenslofty/mistral.git ${MISTRAL_PATH}
pushd ${MISTRAL_PATH}
git reset --hard ${MISTRAL_REVISION}
popd
}
function build_nextpnr {
mkdir build
pushd build
cmake .. -DARCH=mistral -DMISTRAL_ROOT=${MISTRAL_PATH}
make nextpnr-mistral -j`nproc`
popd
}
function run_archcheck {
pushd build
./nextpnr-mistral --mistral ${MISTRAL_PATH} --device 5CEBA2F17A7 --test
popd
}

33
.github/workflows/mistral_ci.yml vendored Normal file
View File

@ -0,0 +1,33 @@
name: Mistral CI tests
on: [push, pull_request]
jobs:
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 lzma-dev clang bison flex swig
- name: ccache
uses: hendrikmuhs/ccache-action@v1
- name: Execute build nextpnr
env:
MISTRAL_PATH: ${{ github.workspace }}/deps/mistral
MISTRAL_REVISION: 7d4e6d2cca1ec05de3be0c9fef6acaed8089d329
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
source ./.github/ci/build_mistral.sh
get_dependencies
build_nextpnr
run_archcheck