Raybox-zero TT07 Edition: Version 1.5 of algofoogle/raybox-zero #15
This file contains hidden or 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: 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: Install ffmpeg and ImageMagick | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
with: | |
packages: ffmpeg imagemagick | |
version: tt07 # I think naming a version builds a reusable packages cache for that name. | |
- name: Convert output frames from PPMs to MP4 | |
shell: bash | |
run: | | |
pwd | |
ls -al | |
cd test | |
./animate.sh ./frames_out/frames.mp4 | |
- name: Convert output frames from PPMs to PNGs | |
shell: bash | |
run: | | |
pwd | |
ls -al | |
cd test | |
mkdir frames_out/png | |
cd frames_out | |
../animate.sh png && cd png && tar czf ../frames.tgz *.png | |
- name: Store PNGs and MP4 | |
if: success() || failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: frames-rtl | |
path: | | |
test/frames_out/frames.mp4 | |
test/frames_out/frames.tgz | |
- name: upload vcd | |
if: success() || failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-vcd | |
path: | | |
test/tb.vcd | |
test/result.xml | |
# prep_frames: | |
# needs: test | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Convert PPMs to MP4 | |
# shell: bash | |
# run: | | |
# pwd | |
# ls -al | |
# cd test | |
# ./animate.sh ./frames_out/frames.mp4 | |
# - name: Convert PPMs to PNGs | |
# shell: bash | |
# run: > | |
# cd test | |
# mkdir frames_out/png | |
# /animate.sh ./frames_out/png | |
# && cd ./frames_out/png | |
# && tar xzf ../frames.tgz *.png | |
# store_frames: | |
# needs: prep_frames | |
# runs-on: ubuntu-latest | |
# permissions: | |
# pages: write | |
# id-token: write | |
# steps: | |
# - uses: actions/upload-artifacts@4 | |
# with: | |
# name: frames-rtl | |
# path: | | |
# test/frames_out/frames.mp4 | |
# test/frames_out/frames.tgz |