diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd91830..2d802ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,10 +1,12 @@ name: CI + on: push: branches: [master] tags: ['v*'] pull_request: branches: [master] + jobs: test: runs-on: ubuntu-latest @@ -44,15 +46,30 @@ jobs: @semantic-release/exec \ @semantic-release/git \ @semantic-release/github + - name: Semantic Release if: github.ref == 'refs/heads/master' && matrix.python-version == '3.8' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_TOKEN: ${{ secrets.GH_TOKEN }} run: npx semantic-release - - name: Publish to PyPI - if: startsWith(github.ref, 'refs/tags/') && matrix.python-version == '3.8' + + # Separate job for PyPI publishing + publish: + needs: test + if: startsWith(github.ref, 'refs/tags/') + runs-on: ubuntu-latest + environment: ci + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.8' + - name: Install dependencies run: | pip install build twine + - name: Build and publish + run: | python -m build - python -m twine upload dist/* -u __token__ -p ${{ secrets.PYPI_TOKEN }} + python -m twine upload dist/* -u __token__ -p ${{ secrets.PYPI_TOKEN }} \ No newline at end of file