on: push: pull_request: schedule: - cron: '0 0 * * *' # test daily against git HEAD of dependencies name: CI jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: - '3.8' - '3.9' - '3.10' - '3.11' - 'pypy-3.8' - 'pypy-3.9' # this version range needs to be synchronized with the one in pyproject.toml amaranth-version: - '0.3' - 'git' fail-fast: false name: 'test (${{ matrix.python-version }}, ${{ matrix.amaranth-version }})' steps: - name: Check out source code uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install Amaranth release if: ${{ matrix.amaranth-version != 'git' }} run: | pip install 'amaranth==${{ matrix.amaranth-version }}' - name: Downgrade MarkupSafe if: ${{ matrix.amaranth-version == '0.3' }} run: | pip install 'MarkupSafe==2.0.1' - name: Install Amaranth from git if: ${{ matrix.amaranth-version == 'git' }} run: | pip install git+https://github.com/amaranth-lang/amaranth.git - name: Test run: | python -m unittest discover -t . -s amaranth_boards -p '*.py' required: # group all required workflows into one for the required status check needs: - test runs-on: ubuntu-latest steps: - run: | true