From 62bd0b9331b8b191e5c1177c665d608603d9b802 Mon Sep 17 00:00:00 2001 From: Yidi Sprei Date: Mon, 30 Sep 2024 02:18:13 -0400 Subject: [PATCH] Add GitHub Actions workflow to automate release creation on tagged pushes (#7209) * feat(workflows): add GitHub Action to create release on new tag This workflow automates the release creation process whenever a new tag is pushed to the repository. It checks if a release for the tag already exists and creates one if it doesn't, enhancing the release management and streamlining the deployment process. * test * fix(workflow): improve release existence check in release-on-tag.yml Refactor the script to improve checking for existing releases by tag. Return an object instead of using core.setOutput to streamline the workflow logic. Also, set result-encoding to string for better compatibility. * fix(workflow): correct output handling in release-on-tag.yml Corrected the output handling in the 'release-on-tag.yml' workflow file by changing 'result-encoding' to 'outputs'. This ensures that the step correctly checks if a release exists before attempting to create a new one, thereby avoiding potential errors during the release process. Added a blank line for better readability. * fix(workflow): correct output setting in release-on-tag workflow Refactored how the release_exists output is set to be compatible with GitHub Actions syntax. This ensures the workflow reliably detects if a release already exists, improving the robustness of the release process. * fix(release): correct output handling in release-on-tag workflow Improved the way outputs are managed in the 'check_release' step by returning values instead of direct assignments. This change ensures better handling of release existence checks and improves code readability. Added 'result-encoding' to specify string encoding for results. * fix(workflow): correct release existence check and add debug output Refactored the release existence check to return a simple boolean string ('true'/'false') rather than an object. Added a step to print the release existence status for debugging purposes. This ensures correct conditional evaluation and aids in troubleshooting workflow issues. * fix(workflow): simplify release process by removing redundant checks The release-on-tag workflow has been streamlined by eliminating the redundant steps checking for existing releases. This change reduces complexity and speeds up the release process by directly creating a release on every tag push without prior existence verification. --- .github/workflows/release-on-tag.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/release-on-tag.yml diff --git a/.github/workflows/release-on-tag.yml b/.github/workflows/release-on-tag.yml new file mode 100644 index 00000000..3868a8f5 --- /dev/null +++ b/.github/workflows/release-on-tag.yml @@ -0,0 +1,23 @@ +name: Create Release on Tag + +on: + push: + tags: + - '*' + +jobs: + create_release: + runs-on: ubuntu-latest + + steps: + - name: Create Release + uses: actions/create-release@v1 + with: + tag_name: ${{ github.ref_name }} + release_name: ${{ github.ref_name }} + body: | + Release ${{ github.ref_name }} of GORM. + draft: false + prerelease: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}