draft-release.yml 2.1 KB

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