name: build on: push: pull_request: env: PIP_ROOT_USER_ACTION: ignore jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: install dependencies run: pip install -e .[dev] - run: make lint - run: make test release: if: ${{ startsWith(github.ref, 'refs/tags/v') }} runs-on: ubuntu-latest needs: test permissions: contents: write steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.x" - run: python -m pip install build - run: python -m build --sdist --wheel --outdir dist/ . - uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.PYPI_API_TOKEN }} - name: Create Github Release uses: softprops/action-gh-release@v2 with: generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}