|
1 | 1 | name: "Release New Version"
|
| 2 | +run-name: "Release ${{ inputs.version }}" |
2 | 3 |
|
3 | 4 | on:
|
4 | 5 | workflow_dispatch:
|
|
52 | 53 | runs-on: ubuntu-latest
|
53 | 54 |
|
54 | 55 | steps:
|
| 56 | + - name: "Create release output" |
| 57 | + run: echo '🎬 Release process for version ${{ inputs.version }} started by @${{ github.triggering_actor }}' >> $GITHUB_STEP_SUMMARY |
| 58 | + |
55 | 59 | - uses: actions/checkout@v4
|
56 | 60 | with:
|
57 | 61 | # fetch-depth 0 is required to fetch all branches, not just the branch being built
|
|
76 | 80 | if: ${{ inputs.version != env.PACKAGE_VERSION }}
|
77 | 81 | # We exit with an error to abort the workflow. This is only run if the versions don't match
|
78 | 82 | run: |
|
79 |
| - echo '❌ Release failed: expected version ${{ inputs.version }}, got ${{ env.PACKAGE_VERSION }}' >> $GITHUB_STEP_SUMMARY |
| 83 | + echo '❌ Release failed due to version mismatch: expected ${{ inputs.version }}, got ${{ env.PACKAGE_VERSION }} from code' >> $GITHUB_STEP_SUMMARY |
80 | 84 | exit 1
|
81 | 85 |
|
82 | 86 | #
|
|
94 | 98 |
|
95 | 99 | # Create a draft release with a changelog
|
96 | 100 | # TODO: Consider using the API to generate changelog
|
97 |
| - - name: "Create draft release" |
| 101 | + - name: "Create draft release with generated changelog" |
98 | 102 | run: gh release create ${{ env.PACKAGE_VERSION }} --target ${{ github.ref_name }} --generate-notes --draft
|
99 | 103 |
|
100 | 104 | - name: "Read changelog from draft release"
|
@@ -126,12 +130,13 @@ jobs:
|
126 | 130 |
|
127 | 131 | # Update release with correct release information
|
128 | 132 | - name: "Update release information"
|
129 |
| - run: gh release edit ${{ env.PACKAGE_VERSION }} --title "${{ env.PACKAGE_VERSION }}" --notes-file release-message |
| 133 | + run: echo "RELEASE_URL=$(gh release edit ${{ env.PACKAGE_VERSION }} --title "${{ env.PACKAGE_VERSION }}" --notes-file release-message)" >> "$GITHUB_ENV" |
130 | 134 |
|
131 | 135 | # Pushing the release tag starts build processes that then produce artifacts for the release
|
132 | 136 | - name: "Push release tag"
|
133 | 137 | run: git push origin ${{ env.PACKAGE_VERSION }}
|
134 | 138 |
|
135 | 139 | - name: "Set summary"
|
136 | 140 | run: |
|
137 |
| - echo '🚀 Created release ${{ inputs.version }}' >> $GITHUB_STEP_SUMMARY |
| 141 | + echo '🚀 Created tag and drafted release for version [${{ inputs.version }}](${{ env.RELEASE_URL }})' >> $GITHUB_STEP_SUMMARY |
| 142 | + echo '✍️ You may now update the release notes and publish the release when ready' >> $GITHUB_STEP_SUMMARY |
0 commit comments