@@ -36,12 +36,35 @@ jobs:
3636 }
3737 }
3838
39+ - name : ' Generate realse notes'
40+ uses : ' actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea' # ratchet:actions/github-script@v7
41+ with :
42+ script : |-
43+ const tag = "v" + process.env.NEW_VERSION;
44+
45+ try {
46+ if (process.env.PREV_TAG) {
47+ const releaseNotes = await github.rest.repos.generateReleaseNotes({
48+ owner: context.repo.owner,
49+ repo: context.repo.repo,
50+ tag_name: tag,
51+ target_commitish: context.sha,
52+ previous_tag_name: process.env.PREV_TAG,
53+ });
54+
55+ core.exportVariable("RELEASE_NOTES", releaseNotes.data.body)
56+ }
57+ } catch (err) {
58+ core.setFailed(`Failed to generate release notes: ${err}`);
59+ }
60+
3961 - name : ' Create release'
4062 uses : ' actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea' # ratchet:actions/github-script@v7
4163 with :
4264 github-token : ' ${{ secrets.ACTIONS_BOT_TOKEN }}'
4365 script : |-
4466 const tag = "v" + process.env.NEW_VERSION;
67+ const releaseNotes = process.env.RELEASE_NOTES.
4568
4669 try {
4770 const createReleaseRequest = {
5376 generate_release_notes: true,
5477 };
5578
56- if (process.env.PREV_TAG) {
57- const releaseNotes = await github.rest.repos.generateReleaseNotes({
58- owner: context.repo.owner,
59- repo: context.repo.repo,
60- tag_name: tag,
61- target_commitish: context.sha,
62- previous_tag_name: process.env.PREV_TAG,
63- });
64-
79+ if (releaseNotes.length) {
6580 createReleaseRequest.body = releaseNotes.data.body;
6681 createReleaseRequest.generate_release_notes = false;
6782 }
7893 - name : ' Update floating tag'
7994 uses : ' actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea' # ratchet:actions/github-script@v7
8095 with :
81- github-token : ' ${{ secrets.ACTIONS_BOT_TOKEN }}'
8296 script : |-
8397 const tag = "v" + process.env.NEW_VERSION;
8498 const major = tag.split(".")[0];
0 commit comments