draft-release.yml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. name: Draft Release
  2. on:
  3. push:
  4. branches:
  5. - master
  6. concurrency:
  7. group: ${{ github.workflow }}-${{ github.ref }}
  8. cancel-in-progress: true
  9. jobs:
  10. # Refs: https://github.com/release-drafter/release-drafter
  11. update-release-draft:
  12. runs-on: ubuntu-latest
  13. outputs:
  14. CURRENT_VERSION: ${{ steps.package-json.outputs.packageVersion }}
  15. RELEASE_DRAFT_BODY: ${{ steps.release-drafter.outputs.body }}
  16. steps:
  17. - uses: actions/checkout@v3
  18. - name: Retrieve information from package.json
  19. uses: myrotvorets/info-from-package-json-action@1.2.0
  20. id: package-json
  21. # Drafts your next Release notes as Pull Requests are merged into "master"
  22. - uses: release-drafter/release-drafter@v5
  23. id: release-drafter
  24. with:
  25. name: v${{ steps.package-json.outputs.packageVersion }}
  26. tag: v${{ steps.package-json.outputs.packageVersion }}
  27. version: ${{ steps.package-json.outputs.packageVersion }}
  28. disable-autolabeler: true
  29. env:
  30. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  31. # Refs: https://github.com/bakunyo/git-pr-release-action
  32. update-release-pr:
  33. needs: update-release-draft
  34. runs-on: ubuntu-latest
  35. steps:
  36. - uses: actions/checkout@v3
  37. with:
  38. fetch-depth: 0
  39. - name: Get release version
  40. id: release-version
  41. run: |
  42. RELEASE_VERSION=`npx semver -i patch ${{ needs.update-release-draft.outputs.CURRENT_VERSION }}`
  43. echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_OUTPUT
  44. - name: Create/Update Pull Request
  45. uses: bakunyo/git-pr-release-action@master
  46. env:
  47. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  48. GIT_PR_RELEASE_BRANCH_PRODUCTION: release/current
  49. GIT_PR_RELEASE_BRANCH_STAGING: master
  50. GIT_PR_RELEASE_TEMPLATE: .github/git-pr-release-template.erb
  51. GIT_PR_RELEASE_TITLE: Release v${{ steps.release-version.outputs.RELEASE_VERSION }}
  52. GIT_PR_RELEASE_BODY: ${{ needs.update-release-draft.outputs.RELEASE_DRAFT_BODY }}