diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 51f241e..391dc95 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -11,8 +11,41 @@ jobs: uses: ./.github/workflows/test.yaml tag: name: Tag + timeout-minutes: 2 needs: test permissions: contents: write - uses: ./.github/workflows/tag.yaml - # TODO: Publish to Pypi. + outputs: + new-version: ${{ steps.bump-version.outputs.new_version }} + steps: + - name: Check out + uses: actions/checkout@v4 + - name: Bump version and create tag + id: bump-version + uses: mathieudutour/github-tag-action@v6.2 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish: + name: Publish package to PyPI + timeout-minutes: 3 + runs-on: ubuntu-latest + needs: tag + if: needs.tag.outputs.new-version != '' + permissions: + contents: read + packages: write + steps: + - name: Check out + uses: actions/checkout@v4 + - name: Set up + uses: ./.github/actions/setup + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + - name: Set version + run: | + poetry version "${{ needs.tag.outputs.new-version }}" + - name: Publish + run: | + poetry publish --build + env: + POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/tag.yaml b/.github/workflows/tag.yaml deleted file mode 100644 index 356275d..0000000 --- a/.github/workflows/tag.yaml +++ /dev/null @@ -1,32 +0,0 @@ -name: Tag -on: - workflow_call: - outputs: - new-version: - value: ${{ jobs.tag.outputs.new-version }} - new-major-version: - value: ${{ jobs.tag.outputs.new-major-version }} -jobs: - tag: - name: Tag - runs-on: ubuntu-latest - permissions: - contents: write - outputs: - new-version: ${{ steps.bump-version.outputs.new_version }} - new-major-version: ${{ steps.extract-major-version.outputs.version }} - steps: - - name: Check out - uses: actions/checkout@v4 - - name: Bump version and create tag - id: bump-version - uses: mathieudutour/github-tag-action@v6.2 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - - name: Extract major version - id: extract-major-version - if: steps.bump-version.outputs.new_version != '' - run: - echo "version=${PACKAGE_VERSION%%.*}" >>"$GITHUB_OUTPUT" - env: - PACKAGE_VERSION: ${{ steps.bump-version.outputs.new_version }}