From efbf4a923c135dd9a43125d0c59452793ad441b8 Mon Sep 17 00:00:00 2001 From: Joerg Herbel Date: Tue, 16 Jul 2024 12:11:51 +0200 Subject: [PATCH] Release workflow: Use Python package version instead of manual input CMK-18197 --- .github/workflows/release.yaml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 14e3d27..8336d3f 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -3,15 +3,7 @@ --- name: "Release" - on: - workflow_dispatch: - inputs: - tag: - description: > - Tag set by this GitHub workflow. - Should follow SemVer and is not allowed to exist already. - required: true - type: string + on: workflow_dispatch jobs: tests: @@ -22,6 +14,7 @@ environment: release permissions: id-token: write + contents: write needs: [tests] steps: - uses: actions/checkout@v4 @@ -35,13 +28,19 @@ - run: poetry build - run: tar --create --gzip --verbose --file dist.tar.gz dist - + + - name: "Set release according to package version" + id: compute-tag + run: | + version="$(poetry version | cut --delimiter " " --fields 2)" + echo "TAG=v${version}" >> "${GITHUB_OUTPUT}" + - name: "Push release tag" # This is publicly visible and needs to be manually fixed if any # consecutive step fails. run: | - git tag ${{ inputs.tag }} # Fails, if tag exists. - git push origin ${{ inputs.tag }} + git tag ${{ steps.compute-tag.outputs.TAG }} # Fails, if tag exists. + git push origin ${{ steps.compute-tag.outputs.TAG }} - uses: ncipollo/release-action@v1.13.0 with: @@ -55,6 +54,6 @@ artifactErrorsFailBuild: true updateOnlyUnreleased: true makeLatest: false - tag: ${{ inputs.tag }} + tag: ${{ steps.compute-tag.outputs.TAG }} - uses: pypa/gh-action-pypi-publish@release/v1