diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d6b5c61..d8d2329 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,47 +1,49 @@ -name: Release +name: release on: - push: - tags: - - '*.*.*' + pull_request: + types: + - closed + branches: + - master + paths: + - 'pyproject.toml' + +env: + POETRY_VERSION: "1.4.2" jobs: - release: - name: Release + if_release: + if: | + ${{ github.event.pull_request.merged == true }} + && ${{ contains(github.event.pull_request.labels.*.name, 'release') }} runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v3 - + - uses: actions/checkout@v3 + - name: Install poetry + run: pipx install poetry==$POETRY_VERSION - name: Set up Python 3.10 uses: actions/setup-python@v4 with: python-version: "3.10" - - - name: Install Poetry - run: | - curl -sSL https://install.python-poetry.org | python - -y - - - name: Update PATH - run: echo "$HOME/.local/bin" >> $GITHUB_PATH - + cache: "poetry" - name: Build project for distribution run: poetry build - - name: Check Version id: check-version run: | - [[ "$(poetry version --short)" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || echo prerelease=true >> $GITHUB_OUTPUT - + echo version=$(poetry version --short) >> $GITHUB_OUTPUT - name: Create Release uses: ncipollo/release-action@v1 with: artifacts: "dist/*" token: ${{ secrets.GITHUB_TOKEN }} draft: false - prerelease: steps.check-version.outputs.prerelease == 'true' - + generateReleaseNotes: true + tag: v${{ steps.check-version.outputs.version }} + commit: master - name: Publish to PyPI env: - POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }} - run: poetry publish \ No newline at end of file + POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }} + run: | + poetry publish \ No newline at end of file