name: build on: push: branches: - master pull_request: branches: - master env: POETRY_VERSION: "2.1.1" jobs: cs: name: Coding style checks runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v6 - name: Setup uses: ./.github/actions/setup with: type: test python-version: "3.11" poetry-version: ${{ env.POETRY_VERSION }} - name: Style run: | make precommit - name: Lint run: | make mypy test: name: Test with python ${{ matrix.python-version }} / ${{ matrix.os-version }} strategy: matrix: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] os-version: ["ubuntu-latest", "windows-latest"] exclude: - os-version: windows-latest include: - os-version: windows-latest python-version: 3.14 runs-on: ${{ matrix.os-version }} steps: - name: Checkout uses: actions/checkout@v6 - name: Setup uses: ./.github/actions/setup with: type: test python-version: ${{ matrix.python-version }} poetry-version: ${{ env.POETRY_VERSION }} - name: Test if: runner.os == 'Linux' run: | make cov - name: Test if: runner.os == 'Windows' shell: bash env: PYTEST_HTTPSERVER_HOST: '127.0.0.1' run: | set -e poetry run pytest tests -s -vv --release poetry run pytest tests -s -vv --ssl - name: Codecov upload uses: codecov/codecov-action@v5 if: runner.os == 'Linux' with: token: ${{ secrets.CODECOV_TOKEN }} test-doc: name: Test doc build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v6 - name: Setup uses: ./.github/actions/setup with: type: doc python-version: "3.13" poetry-version: ${{ env.POETRY_VERSION }} - name: Test run: | make doc