diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 3e347f92bb..df882b47f8 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -22,9 +22,19 @@ jobs: release-type: rust package-name: rtk + build-release: + name: Build and upload release assets + needs: release-please + if: ${{ needs.release-please.outputs.release_created == 'true' }} + uses: ./.github/workflows/release.yml + with: + tag: ${{ needs.release-please.outputs.tag_name }} + permissions: + contents: write + update-latest-tag: name: Update 'latest' tag - needs: release-please + needs: [release-please, build-release] if: ${{ needs.release-please.outputs.release_created == 'true' }} runs-on: ubuntu-latest steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a23518f48b..202a795b2b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,6 +3,12 @@ name: Release on: release: types: [published] + workflow_call: + inputs: + tag: + description: 'Tag to release' + required: true + type: string workflow_dispatch: inputs: tag: @@ -149,6 +155,8 @@ jobs: run: | if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then echo "version=${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT + elif [ "${{ github.event_name }}" = "workflow_call" ]; then + echo "version=${{ inputs.tag }}" >> $GITHUB_OUTPUT elif [ "${{ github.event_name }}" = "release" ]; then echo "version=${{ github.event.release.tag_name }}" >> $GITHUB_OUTPUT fi @@ -174,7 +182,7 @@ jobs: sha256sum * > checksums.txt - name: Upload Release Assets - if: github.event_name == 'release' + if: github.event_name == 'release' || github.event_name == 'workflow_call' uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.version.outputs.version }}