Add cocotb tests for AXI peripherals #76
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Modules (ZSTD) | |
on: | |
# Avoid triggering on pushes to /all/ open PR branches. | |
push: | |
branches: | |
- main | |
paths: | |
- 'xls/modules/zstd/**' | |
pull_request: | |
branches: | |
- main | |
paths: | |
- 'xls/modules/zstd/**' | |
# This lets us trigger manually from the UI. | |
workflow_dispatch: | |
jobs: | |
test: | |
name: Test ZSTD module (opt) | |
runs-on: | |
labels: ubuntu-22.04-64core | |
timeout-minutes: 600 | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Restore Nightly Bazel Cache | |
uses: actions/cache/restore@v4 | |
with: | |
path: "~/.cache/bazel" | |
key: bazel-cache-nightly-${{ runner.os }}-${{ github.sha }} | |
restore-keys: bazel-cache-nightly-${{ runner.os }}- | |
- name: Install dependencies via apt | |
run: sudo apt-get install python3-distutils python3-dev python-is-python3 libtinfo5 build-essential liblapack-dev libblas-dev gfortran | |
- name: Bazel Build Tools (opt) | |
run: | | |
bazel build -c opt --test_output=errors -- //xls/dslx:interpreter_main //xls/dslx/ir_convert:ir_converter_main //xls/tools:opt_main //xls/tools:codegen_main | |
- name: Build ZSTD Module (opt) | |
run: | | |
bazel build -c opt --test_output=errors -- //xls/modules/zstd:all | |
- name: Test ZSTD Module - DSLX Tests (opt) | |
if: ${{ !cancelled() }} | |
run: | | |
bazel test -c opt --test_output=errors -- $(bazel query 'filter(".*_dslx_test", kind(rule, //xls/modules/zstd/...))') | |
- name: Test ZSTD Module - CC Tests (opt) | |
if: ${{ !cancelled() }} | |
run: | | |
bazel test -c opt --test_output=errors -- $(bazel query 'filter(".*_cc_test", kind(rule, //xls/modules/zstd/...))') | |
- name: Build ZSTD verilog targets (opt) | |
if: ${{ !cancelled() }} | |
run: | | |
bazel build -c opt -- $(bazel query 'filter(".*_verilog", kind(rule, //xls/modules/zstd/...))') | |
- name: Build and run ZSTD IR benchmark rules (opt) | |
if: ${{ !cancelled() }} | |
run: | | |
for target in $(bazel query 'filter(".*_ir_benchmark$", kind(rule, //xls/modules/zstd/...))'); | |
do | |
echo "running $target"; | |
bazel run -c opt $target -- --logtostderr; | |
done | |
- name: Build and run synthesis benchmarks of the ZSTD module (opt) | |
if: ${{ !cancelled() }} | |
run: | | |
for target in $(bazel query 'filter(".*_benchmark_synth$", kind(rule, //xls/modules/zstd/...))'); | |
do | |
echo "running $target"; | |
bazel run -c opt $target -- --logtostderr; | |
done | |
- name: Build and test verilog simulation of the ZSTD module components (opt) | |
if: ${{ !cancelled() }} | |
run: | | |
bazel test -c opt --test_output=errors -- $(bazel query 'filter(".*_cocotb_test", kind(rule, //xls/modules/zstd/...))') | |
- name: Build ZSTD place and route targets (opt) | |
if: ${{ !cancelled() }} | |
run: | | |
bazel build -c opt -- $(bazel query 'filter(".*_place_and_route", kind(rule, //xls/modules/zstd/...))') |