- In main workflow chipyard-run-tests.yml - Remove debug output in `make-keys` - remove export intializers in `build-extra-tests` - Add prepare-chipyard-fpga to `needs` in `all_tests_passed`
1100 lines
37 KiB
YAML
1100 lines
37 KiB
YAML
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! |