diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..508afc6 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,43 @@ +# SPDX-FileCopyrightText: 2024 David Mallasén Quintana +# SPDX-License-Identifier: LGPL-3.0-or-later +# Source: https://github.com/davidmallasen/arithmetic_units + +name: Cocotb tests + +on: + push: + branches: + - main + pull_request: + +jobs: + cocotb-tests: + runs-on: ubuntu-latest + defaults: + run: + shell: bash -el {0} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Icarus Verilog + run: sudo apt-get update && sudo apt-get install -y iverilog + + - name: Set up Conda + uses: conda-incubator/setup-miniconda@v3 + with: + activate-environment: arithmetic_units + environment-file: environment.yml + auto-activate-base: false + + - name: Run pytest + id: run-tests + run: pytest + continue-on-error: true + + - name: Notify user on failure + if: steps.run-tests.outcome == 'failure' + run: | + echo "Pytest has failed. \ + Please check the logs and run 'pytest -rA -v' locally to get a more detailed output." + exit 1