diff --git a/.github/workflows/Suite.yml b/.github/workflows/Suite.yml index 7dd5876a9..fc1323b24 100644 --- a/.github/workflows/Suite.yml +++ b/.github/workflows/Suite.yml @@ -140,415 +140,416 @@ jobs: **/results*.gz **/plot_*.svg - # Quicklogic tests - QuickLogic: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_quicklogic) }} - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh quicklogic && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - # Vivado - Vivado: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_vivado) }} - - env: - GHA_EXTERNAL_DISK: "tools" - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -v -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - YosysVivado: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_yosys_vivado) }} - - env: - GHA_EXTERNAL_DISK: "tools" - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -v -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - YosysVivadoUHDM: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_yosys_vivado_uhdm) }} - - env: - GHA_EXTERNAL_DISK: "tools" - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -v -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - # Nextpnr - NextpnrFPGAInterchange: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_fpga_interchange) }} - - env: - GHA_EXTERNAL_DISK: "tools" - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -v -l $(echo ${{needs.Matrix.outputs.link}}) -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh nextpnr && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - NextpnrIce40: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_ice40) }} - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh nextpnr && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - NextpnrNexus: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_nexus) }} - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh nextpnr && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - NextpnrXilinx: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_xilinx) }} - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh nextpnr && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - NextpnrXilinxFASM2Bels: - needs: Matrix - - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_xilinx_fasm2bels) }} - - env: - GHA_EXTERNAL_DISK: "tools" - - container: ubuntu:focal - - runs-on: [self-hosted, Linux, X64] - - steps: - - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install - run: ./.github/scripts/install.sh -v -t ${{ matrix.toolchain }} -b ${{ matrix.board }} - - - name: Run Test - run: > - source env.sh nextpnr && - python3 exhaust.py - --verbose - --project ${{ matrix.project }} - --toolchain ${{ matrix.toolchain }} - --board ${{ matrix.board }} - --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} - --fail - --timeout ${{ env.timeout }} - - - uses: actions/upload-artifact@v3 - if: ${{ always() }} - with: - path: | - **/results*.gz - **/plot_*.svg - - AggregateResults: - # Restore all the others once this works - needs: [VPR, VPRFASM2Bels, Vivado, YosysVivado, YosysVivadoUHDM, QuickLogic, NextpnrFPGAInterchange, NextpnrIce40, NextpnrNexus, NextpnrXilinx, NextpnrXilinxFASM2Bels] - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-python@v4 - - - uses: actions/download-artifact@v3 - - - name: Results Aggregation - run: | - find . -name "*.json.gz" - mkdir upload - python3 ./utils/aggregate_results.py artifact/build/_exhaust-runs upload - - - uses: actions/upload-artifact@v3 - name: aggregated-results - with: - path: | - **/results*.json.gz - - - name: Upload to GCP - if: ${{ (github.event_name == 'push' || github.event_name == 'schedule') && - github.ref == 'refs/heads/main' }} - uses: weslenng/gcp-storage-sync@master - env: - GCP_SERVICE_ACCOUNT_KEY_FILE: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY_FILE }} - GCP_STORAGE_BUCKET: ${{ secrets.GCP_STORAGE_BUCKET }} - SOURCE_DIR: "upload" - +# # Quicklogic tests +# QuickLogic: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_quicklogic) }} +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh quicklogic && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# # Vivado +# Vivado: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_vivado) }} +# +# env: +# GHA_EXTERNAL_DISK: "tools" +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -v -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# YosysVivado: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_yosys_vivado) }} +# +# env: +# GHA_EXTERNAL_DISK: "tools" +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -v -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# YosysVivadoUHDM: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_yosys_vivado_uhdm) }} +# +# env: +# GHA_EXTERNAL_DISK: "tools" +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -v -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# # Nextpnr +# NextpnrFPGAInterchange: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_fpga_interchange) }} +# +# env: +# GHA_EXTERNAL_DISK: "tools" +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -v -l $(echo ${{needs.Matrix.outputs.link}}) -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh nextpnr && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# NextpnrIce40: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_ice40) }} +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh nextpnr && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# NextpnrNexus: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_nexus) }} +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh nextpnr && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# NextpnrXilinx: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_xilinx) }} +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh nextpnr && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# NextpnrXilinxFASM2Bels: +# needs: Matrix +# +# strategy: +# fail-fast: false +# matrix: +# include: ${{ fromJson(needs.Matrix.outputs.matrix_nextpnr_xilinx_fasm2bels) }} +# +# env: +# GHA_EXTERNAL_DISK: "tools" +# +# container: ubuntu:focal +# +# runs-on: [self-hosted, Linux, X64] +# +# steps: +# +# - uses: actions/checkout@v3 +# with: +# submodules: recursive +# +# - name: Install +# run: ./.github/scripts/install.sh -v -t ${{ matrix.toolchain }} -b ${{ matrix.board }} +# +# - name: Run Test +# run: > +# source env.sh nextpnr && +# python3 exhaust.py +# --verbose +# --project ${{ matrix.project }} +# --toolchain ${{ matrix.toolchain }} +# --board ${{ matrix.board }} +# --build_type ${{ matrix.project }}-${{ matrix.toolchain }}-${{ matrix.board }} +# --fail +# --timeout ${{ env.timeout }} +# +# - uses: actions/upload-artifact@v3 +# if: ${{ always() }} +# with: +# path: | +# **/results*.gz +# **/plot_*.svg +# +# AggregateResults: +# # Restore all the others once this works +# needs: [VPR, VPRFASM2Bels, Vivado, YosysVivado, YosysVivadoUHDM, QuickLogic, NextpnrFPGAInterchange, NextpnrIce40, NextpnrNexus, NextpnrXilinx, NextpnrXilinxFASM2Bels] +# +# runs-on: ubuntu-latest +# +# steps: +# - uses: actions/checkout@v3 +# +# - uses: actions/setup-python@v4 +# +# - uses: actions/download-artifact@v3 +# +# - name: Results Aggregation +# run: | +# find . -name "*.json.gz" +# mkdir upload +# python3 ./utils/aggregate_results.py artifact/build/_exhaust-runs upload +# +# - uses: actions/upload-artifact@v3 +# name: aggregated-results +# with: +# path: | +# **/results*.json.gz +# +# - name: Upload to GCP +# if: ${{ (github.event_name == 'push' || github.event_name == 'schedule') && +# github.ref == 'refs/heads/main' }} +# uses: weslenng/gcp-storage-sync@master +# env: +# GCP_SERVICE_ACCOUNT_KEY_FILE: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY_FILE }} +# GCP_STORAGE_BUCKET: ${{ secrets.GCP_STORAGE_BUCKET }} +# SOURCE_DIR: "upload" +# +# \ No newline at end of file