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"] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: install dependencies run: pip install -e .[dev] - name: lint run: make lint - name: test run: make test release: runs-on: ubuntu-latest if: ${{ startsWith(github.ref, 'refs/tags/v') }} needs: test steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 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 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}