diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 8d52e39..a8f9cc7 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -19,6 +19,8 @@ jobs: - uses: actions/checkout@v3 with: submodules: true + - if: ${{ env.ACT }} + run: sudo apt-get update - run: sudo apt-get install -y asciidoctor - id: config uses: actions/configure-pages@v2 diff --git a/.github/workflows/rtl.yml b/.github/workflows/rtl.yml new file mode 100644 index 0000000..bf1ad86 --- /dev/null +++ b/.github/workflows/rtl.yml @@ -0,0 +1,38 @@ +name: Run test suite + +on: + push + +jobs: + build: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + - name: Install dependencies missing in act + if: ${{ env.ACT }} + run: | + sudo apt-get update + sudo apt-get install -y python3-dev + - name: Get pip cache dir + id: pip-cache + run: | + echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT + - name: Cache pip dependencies + uses: actions/cache@v3 + with: + path: ${{ steps.pip-cache.outputs.dir }} + key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + - name: Install dependencies + run: | + echo "$HOME/.local/bin" >> $GITHUB_PATH + sudo apt-get install -y fpga-icestorm iverilog nextpnr-ice40 yosys-dev + python3 -m venv venv + venv/bin/pip install -r requirements.txt + - name: Run tests + run: | + source venv/bin/activate + make -k test diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2d6e709 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +asyncstdlib==3.12.2 +cocotb @ git+https://git@github.com/Forty-Bot/cocotb.git@8810af1a66c461217dc00d0aa47043b8ea130f65 +find_libpython==0.3.0