diff options
author | gatecat <gatecat@ds0.me> | 2022-04-08 14:05:03 +0100 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2022-04-08 18:42:39 +0100 |
commit | 92a58a2631a30ac3f4c0291ecd1f2f01a912b9e9 (patch) | |
tree | af4d4919e27a49d01c1c8607c817d07644e22303 /.github/workflows | |
parent | 49f178ed94b5fad00d25dbd12adea0bf4732f803 (diff) | |
download | nextpnr-92a58a2631a30ac3f4c0291ecd1f2f01a912b9e9.tar.gz nextpnr-92a58a2631a30ac3f4c0291ecd1f2f01a912b9e9.tar.bz2 nextpnr-92a58a2631a30ac3f4c0291ecd1f2f01a912b9e9.zip |
ci: Restructure and move entirely to GH actions from Cirrus
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/arch_ci.yml | 95 | ||||
-rw-r--r-- | .github/workflows/mistral_ci.yml | 29 |
2 files changed, 95 insertions, 29 deletions
diff --git a/.github/workflows/arch_ci.yml b/.github/workflows/arch_ci.yml new file mode 100644 index 00000000..5bf83630 --- /dev/null +++ b/.github/workflows/arch_ci.yml @@ -0,0 +1,95 @@ +# CI for everything other than the sui generis FPGA interchange arrangements + +name: Arch CI tests + +on: [push, pull_request] + +jobs: + Build-nextpnr: + strategy: + fail-fast: false + matrix: + arch: [mistral, ice40, ecp5, generic, nexus, machxo2, gowin] + runs-on: ubuntu-latest + env: + DEPS_PATH: ${{ github.workspace }}/deps + YOSYS_REVISION: bd7ee79486d4e8788f36de8c25a3fb2df451d682 + ICESTORM_REVISION: 9f66f9ce16941c6417813cb87653c735a78b53ae + TRELLIS_REVISION: 48486ebd1e03e4ac42c96299e881adf9d43bc241 + PRJOXIDE_REVISION: c3fb1526cf4a2165e15b74f4a994d153c7695fe4 + MISTRAL_REVISION: ebfc0dd2cc7d6d2159b641a397c88554840e93c9 + APYCULA_REVISION: 0.2a4 + 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 libftdi-dev clang bison flex swig qt5-default iverilog + + - name: Cache yosys installation + uses: actions/cache@v2 + id: cache-yosys + with: + path: .yosys + key: cache-yosys-${{ env.YOSYS_REVISION }}-r2 + + - name: Build yosys + run: | + source ./.github/ci/build_common.sh + build_yosys + if: steps.cache-yosys.outputs.cache-hit != 'true' + + - name: Cache icestorm installation + uses: actions/cache@v2 + id: cache-icestorm + with: + path: .icestorm + key: cache-icestorm-${{ env.ICESTORM_REVISION }} + if: matrix.arch == 'ice40' + + - name: Build icestorm + run: | + source ./.github/ci/build_common.sh + build_icestorm + if: matrix.arch == 'ice40' && steps.cache-icestorm.outputs.cache-hit != 'true' + + - name: Cache trellis installation + uses: actions/cache@v2 + id: cache-trellis + with: + path: .trellis + key: cache-trellis-${{ env.TRELLIS_REVISION }} + if: matrix.arch == 'ecp5' || matrix.arch == 'machxo2' + + - name: Build trellis + run: | + source ./.github/ci/build_common.sh + build_trellis + if: (matrix.arch == 'ecp5' || matrix.arch == 'machxo2') && steps.cache-trellis.outputs.cache-hit != 'true' + + - name: Cache prjoxide installation + uses: actions/cache@v2 + id: cache-prjoxide + with: + path: .prjoxide + key: cache-prjoxide-${{ env.PRJOXIDE_REVISION }} + if: matrix.arch == 'nexus' + + - name: Build prjoxide + run: | + source ./.github/ci/build_common.sh + build_prjoxide + if: matrix.arch == 'nexus' && steps.cache-prjoxide.outputs.cache-hit != 'true' + + - name: Execute build nextpnr + run: | + source ./.github/ci/build_${{ matrix.arch }}.sh + get_dependencies + build_nextpnr + run_tests + run_archcheck diff --git a/.github/workflows/mistral_ci.yml b/.github/workflows/mistral_ci.yml deleted file mode 100644 index b0bbfb52..00000000 --- a/.github/workflows/mistral_ci.yml +++ /dev/null @@ -1,29 +0,0 @@ -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: Execute build nextpnr - env: - MISTRAL_PATH: ${{ github.workspace }}/deps/mistral - MISTRAL_REVISION: ebfc0dd2cc7d6d2159b641a397c88554840e93c9 - run: | - source ./.github/ci/build_mistral.sh - get_dependencies - build_nextpnr - run_archcheck |