@@ -79,46 +79,33 @@ jobs:
7979 - name : Install project modules
8080 run : npm ci
8181
82- - name : Commit and push package modifications
82+ - name : Create release branch
8383 run : |
84+ BRANCH="release/v${{ steps.bump.outputs.version }}"
85+ git config user.name "${{ github.actor }}"
86+ git config user.email "${{ github.actor }}@users.noreply.github.com"
87+ git checkout -b "$BRANCH"
8488 git add package.json
8589 git add package-lock.json
8690 git commit -m "build: updated package with ${{ steps.bump.outputs.version }} [skip ci]"
87- git push
88-
89- - name : Create and push new tag
90- run : |
91- git tag ${{ steps.bump.outputs.version }} -m "${{ steps.bump.outputs.version }}"
92- git push origin ${{ steps.bump.outputs.version }}
91+ git push origin "$BRANCH"
9392
94- - name : Create release notes
95- uses : actions/github-script@v6
96- id : release-notes
93+ - name : Create GitHub release tag
94+ uses : softprops/action-gh-release@v1
9795 with :
98- github-token : ${{ secrets.GITHUB_TOKEN }}
99- script : |
100- const repo_name = context.payload.repository.full_name
101- const previousTag = '${{ steps.fetch-tag.outputs.oldest-tag }}'
102- const currentTag = '${{ steps.bump.outputs.version }}'
103-
104- const response = await github.request('POST /repos/' + repo_name + '/releases/generate-notes', {
105- tag_name: currentTag,
106- previous_tag_name: previousTag || undefined
107- })
108- return response.data.body
96+ name : " Release ${{ steps.bump.outputs.version }}"
97+ tag_name : " v${{ steps.bump.outputs.version }}"
98+ target_commitish : " release/v${{ steps.bump.outputs.version }}"
99+ generate_release_notes : true
100+ env :
101+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
109102
110- - name : Create a release
111- uses : actions/github-script@v6
103+ - name : Create Pull Request for release + next version
104+ uses : peter-evans/create-pull-request@v5
112105 with :
113- github-token : ${{ secrets.GITHUB_TOKEN }}
114- script : |
115- const repo_name = context.payload.repository.full_name
116- const response = await github.request('POST /repos/' + repo_name + '/releases', {
117- tag_name: '${{ steps.bump.outputs.version }}',
118- name: '${{ steps.bump.outputs.version }}',
119- draft: false,
120- body: ${{ steps.release-notes.outputs.result }},
121- prerelease: false,
122- make_latest: 'true'
123- })
124-
106+ token : ${{ secrets.GITHUB_TOKEN }}
107+ branch : release/v${{ steps.bump.outputs.version }}
108+ base : main
109+ title : " build: release ${{ steps.bump.outputs.version }} [skip ci]"
110+ commit-message : " build: release ${{ steps.bump.outputs.version }} [skip ci]"
111+ signoff : true
0 commit comments