48 lines
1.1 KiB
YAML
48 lines
1.1 KiB
YAML
|
name: test
|
||
|
on: [push, workflow_dispatch]
|
||
|
jobs:
|
||
|
test:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Checkout repo
|
||
|
uses: actions/checkout@v4
|
||
|
with:
|
||
|
submodules: recursive
|
||
|
|
||
|
- name: Install iverilog
|
||
|
shell: bash
|
||
|
run: sudo apt-get update && sudo apt-get install -y iverilog
|
||
|
|
||
|
# Set Python up and install cocotb
|
||
|
- name: Setup python
|
||
|
uses: actions/setup-python@v5
|
||
|
with:
|
||
|
python-version: '3.11'
|
||
|
|
||
|
- name: Install Python packages
|
||
|
shell: bash
|
||
|
run: pip install -r test/requirements.txt
|
||
|
|
||
|
- name: Run tests
|
||
|
run: |
|
||
|
cd test
|
||
|
make clean
|
||
|
make
|
||
|
# make will return success even if the test fails, so check for failure in the results.xml
|
||
|
! grep failure results.xml
|
||
|
|
||
|
- name: Test Summary
|
||
|
uses: test-summary/action@v2.3
|
||
|
with:
|
||
|
paths: "test/results.xml"
|
||
|
if: always()
|
||
|
|
||
|
- name: upload vcd
|
||
|
if: success() || failure()
|
||
|
uses: actions/upload-artifact@v4
|
||
|
with:
|
||
|
name: test-vcd
|
||
|
path: |
|
||
|
test/tb.vcd
|
||
|
test/result.xml
|