-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This action promotes the target RC tag and creates a release (marked as latest) based on it. Signed-off-by: francesco-racciatti <[email protected]>
- Loading branch information
1 parent
74b053a
commit 9ef750f
Showing
1 changed file
with
72 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
name: promote | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
release_version: | ||
description: 'The release version, e.g. 5.0.0.' | ||
type: string | ||
required: true | ||
|
||
rc_number: | ||
description: 'The release candidate number to promote, e.g. 1.' | ||
type: string | ||
required: true | ||
|
||
jobs: | ||
release: | ||
env: | ||
RC_NAME: ${{ inputs.release_version }}-rc${{ inputs.rc_tag }} | ||
name: Promote | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Verify inputs | ||
shell: bash | ||
run: | | ||
if [[ ! "${{ inputs.release_version }}" =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then | ||
echo "The provided release version is not valid" | ||
exit 1 | ||
fi | ||
if [[ ! "${{ inputs.rc_number }}" =~ ^([0-9])+$ ]]; then | ||
echo "The provided rc tag is not valid" | ||
exit 1 | ||
fi | ||
- name: Checkout Code | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Promote RC Tag | ||
shell: bash | ||
run: | | ||
if ! git rev-parse "${RC_NAME}" &>/dev/null; then | ||
echo "The RC Tag ${RC_NAME} does not exist" | ||
exit 1 | ||
fi | ||
git fetch --tags | ||
git tag "${{ inputs.release_version }}" "${RC_NAME}" | ||
git push -u origin "${{ inputs.release_version }}" | ||
- name: Get resources from RC | ||
shell: bash | ||
run: | | ||
rm -f cloudformation.zip | ||
rm -f checksums.txt | ||
curl -L "https://github.com/${{ github.repository }}/releases/download/${RC_NAME}/cloudformation.zip" > cloudformation.zip | ||
curl -L "https://github.com/${{ github.repository }}/releases/download/${RC_NAME}/checksums.txt" > checksums.txt | ||
- name: Create release | ||
uses: softprops/action-gh-release@v2 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
files: | | ||
cloudformation.zip | ||
checksums.txt | ||
name: ${{ inputs.release_version }} | ||
tag_name: ${{ inputs.release_version }} | ||
prerelease: false | ||
make_latest: true |