name: chipyard-ci-process on: [push] env: tools-cache-version: v7 BUILDSERVER: ${{ secrets.BUILDSERVER }} BUILDUSER: ${{ secrets.BUILDUSER }} SERVER: ${{ secrets.BUILDUSER }}@${{ secrets.BUILDSERVER }} CI_DIR: ${{ secrets.BUILDDIR }} JVM_OPTS: -Xmx3200m # Customize the JVM maximum heap limit jobs: commit-on-master-check: name: commit-on-master-check runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Check commits of each submodule run: .github/scripts/check-commit.sh tutorial-setup-check: name: tutorial-setup-check runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Check that the tutorial-setup patches apply run: scripts/tutorial-setup.sh documentation-check: name: documentation-check runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Check that documentation builds with no warnings/errors run: | sudo apt-get update -y sudo apt-get install -y python3-pip sudo pip3 install -r docs/requirements.txt make -C docs html - name: Show error log from sphinx if failed if: ${{ failure() }} run: cat /tmp/sphinx-err*.log make-keys: name: make-keys runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.9.1 with: access_token: ${{ github.token }} - name: Checkout uses: actions/checkout@v2 - name: Generate hashes run: .github/scripts/create-hash.sh - name: Generate keys id: genkey run: | echo "::set-output name=riscvtools-cache-key::riscv-tools-installed-${{ env.tools-cache-version }}-$(shasum riscv-tools.hash | cut -d' ' -f1)" echo "::set-output name=esptools-cache-key::esp-tools-installed-${{ env.tools-cache-version }}-$(shasum esp-tools.hash | cut -d' ' -f1)" echo "::set-output name=extra-tests-cache-key::extra-tests-${{ github.ref }}-${{ github.sha }}" outputs: riscvtools-cache-key: ${{ steps.genkey.outputs.riscvtools-cache-key }} esptools-cache-key: ${{ steps.genkey.outputs.esptools-cache-key }} extra-tests-cache-key: ${{ steps.genkey.outputs.extra-tests-cache-key }} install-riscv-toolchain: needs: make-keys name: install-riscv-toolchain runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} install-esp-toolchain: needs: make-keys name: install-esp-toolchain runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Build ESP RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'esp-tools' cache-key: ${{ needs.make-keys.outputs.esptools-cache-key }} build-extra-tests: name: build-extra-tests needs: [make-keys, install-riscv-toolchain] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - uses: actions/cache@v2 id: build-extra-tools-cache with: path: extra-tests-install key: ${{ needs.make-keys.outputs.extra-tests-cache-key }} restore-keys: ${{ needs.make-keys.outputs.extra-tests-cache-key }} - name: Build extra tests if not cached run: .github/scripts/build-extra-tests.sh install-verilator: name: install-verilator runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Build verilator on remote run: .github/scripts/install-verilator.sh # Sentinel job to simplify how we specify which that basic setup is complete # # When adding new prep jobs, please add them to `needs` below setup-complete: name: "setup complete" needs: [commit-on-master-check, tutorial-setup-check, documentation-check, install-riscv-toolchain, install-esp-toolchain, install-verilator, build-extra-tests] runs-on: ubuntu-latest steps: - name: Set up complete run: echo Set up is complete! ########################################################################## prepare-chipyard-cores: name: prepare-chipyard-cores needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-cores" prepare-chipyard-peripherals: name: prepare-chipyard-peripherals needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-peripherals" prepare-chipyard-accels: name: prepare-chipyard-accels needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build ESP RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'esp-tools' cache-key: ${{ needs.make-keys.outputs.esptools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" prepare-chipyard-tracegen: name: prepare-chipyard-tracegen needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-tracegen" prepare-chipyard-other: name: prepare-chipyard-other needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-other" prepare-chipyard-fpga: name: prepare-chipyard-fpga needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-fpga" build-type: "fpga" ########################################################################## chipyard-rocket-run-tests: name: chipyard-rocket-run-tests needs: [make-keys, prepare-chipyard-cores] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-cores" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-rocket" chipyard-hetero-run-tests: name: chipyard-hetero-run-tests needs: [make-keys, prepare-chipyard-cores] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-cores" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-hetero" chipyard-boom-run-tests: name: chipyard-boom-run-tests needs: [make-keys, prepare-chipyard-cores] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-cores" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-boom" chipyard-cva6-run-tests: name: chipyard-cva6-run-tests needs: [make-keys, prepare-chipyard-cores] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-cores" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-cva6" chipyard-sodor-run-tests: name: chipyard-sodor-run-tests needs: [make-keys, prepare-chipyard-cores] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-cores" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-sodor" chipyard-dmirocket-run-tests: name: chipyard-dmirocket-run-tests needs: [make-keys, prepare-chipyard-peripherals] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-peripherals" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-dmirocket" chipyard-spiflashwrite-run-tests: name: chipyard-spiflashwrite-run-tests needs: [make-keys, prepare-chipyard-peripherals] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-peripherals" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-spiflashwrite" chipyard-spiflashread-run-tests: name: chipyard-spiflashread-run-tests needs: [make-keys, prepare-chipyard-peripherals] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-peripherals" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-spiflashread" chipyard-lbwif-run-tests: name: chipyard-lbwif-run-tests needs: [make-keys, prepare-chipyard-peripherals] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-peripherals" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-lbwif" chipyard-sha3-run-tests: name: chipyard-sha3-run-tests needs: [make-keys, prepare-chipyard-accels] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build ESP RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'esp-tools' cache-key: ${{ needs.make-keys.outputs.esptools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-sha3" chipyard-streaming-fir-run-tests: name: chipyard-streaming-fir-run-tests needs: [make-keys, prepare-chipyard-accels] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-streaming-fir" chipyard-streaming-passthrough-run-tests: name: chipyard-streaming-passthrough-run-tests needs: [make-keys, prepare-chipyard-accels] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-streaming-passthrough" chipyard-hwacha-run-tests: name: chipyard-hwacha-run-tests needs: [make-keys, prepare-chipyard-accels] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build ESP RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'esp-tools' cache-key: ${{ needs.make-keys.outputs.esptools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-hwacha" chipyard-gemmini-run-tests: name: chipyard-gemmini-run-tests needs: [make-keys, prepare-chipyard-accels] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build ESP RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'esp-tools' cache-key: ${{ needs.make-keys.outputs.esptools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-gemmini" chipyard-nvdla-run-tests: name: chipyard-nvdla-run-tests needs: [make-keys, prepare-chipyard-accels] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "chipyard-nvdla" tracegen-boom-run-tests: name: tracegen-boom-run-tests needs: [make-keys, prepare-chipyard-tracegen] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-tracegen" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "tracegen-boom" tracegen-run-tests: name: tracegen-run-tests needs: [make-keys, prepare-chipyard-tracegen] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-tracegen" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "tracegen" icenet-run-tests: name: icenet-run-tests needs: [make-keys, prepare-chipyard-other] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-other" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "icenet" testchipip-run-tests: name: testchipip-run-tests needs: [make-keys, prepare-chipyard-other] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "group-other" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "testchipip" firesim-run-tests: name: firesim-run-tests needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "extra-tests" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "firesim" run-script: "run-firesim-scala-tests.sh" fireboom-run-tests: name: fireboom-run-tests needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "extra-tests" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "fireboom" run-script: "run-firesim-scala-tests.sh" firesim-multiclock-run-tests: name: firesim-multiclock-run-tests needs: [make-keys, setup-complete] runs-on: ubuntu-latest container: image: ucbbar/chipyard-ci-image:554b436 options: --entrypoint /bin/bash steps: - name: Checkout uses: actions/checkout@v2 - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.SERVERKEY }} known_hosts: ${{ secrets.BUILDSERVER }} - name: Init submodules run: ./scripts/init-submodules-no-riscv-tools.sh - name: Check commits of each submodle run: .github/scripts/check-commit.sh - name: Build default RISC-V toolchain uses: ./.github/actions/toolchain-build with: tools-version: 'riscv-tools' cache-key: ${{ needs.make-keys.outputs.riscvtools-cache-key }} - name: Build RTL uses: ./.github/actions/prepare-rtl with: group-key: "extra-tests" - name: Run tests uses: ./.github/actions/run-tests with: project-key: "firesim-multiclock" run-script: "run-firesim-scala-tests.sh" # Sentinel job to simplify how we specify which checks need to pass in branch # protection and in Mergify # # When adding new top level jobs, please add them to `needs` below all_tests_passed: name: "all tests passed" needs: [chipyard-rocket-run-tests, chipyard-hetero-run-tests, chipyard-boom-run-tests, chipyard-cva6-run-tests, chipyard-sodor-run-tests, chipyard-dmirocket-run-tests, chipyard-spiflashwrite-run-tests, chipyard-spiflashread-run-tests, chipyard-lbwif-run-tests, chipyard-sha3-run-tests, chipyard-streaming-fir-run-tests, chipyard-streaming-passthrough-run-tests, chipyard-hwacha-run-tests, chipyard-gemmini-run-tests, chipyard-nvdla-run-tests, tracegen-boom-run-tests, tracegen-run-tests, icenet-run-tests, testchipip-run-tests, prepare-chipyard-fpga, firesim-run-tests, fireboom-run-tests, firesim-multiclock-run-tests] runs-on: ubuntu-latest steps: - run: echo Success!