@semantic-release/github 9.2.0 → 9.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/publish.js +32 -15
  2. package/package.json +1 -1
package/lib/publish.js CHANGED
@@ -54,11 +54,6 @@ export default async function publish(pluginConfig, context, { Octokit }) {
54
54
 
55
55
  debug("release object: %O", release);
56
56
 
57
- // If discussionCategoryName is not undefined or false
58
- if (discussionCategoryName) {
59
- release.discussion_category_name = discussionCategoryName;
60
- }
61
-
62
57
  const draftReleaseOptions = { ...release, draft: true };
63
58
 
64
59
  // When there are no assets, we publish a release directly.
@@ -76,12 +71,22 @@ export default async function publish(pluginConfig, context, { Octokit }) {
76
71
  return { url, name: RELEASE_NAME, id: releaseId };
77
72
  }
78
73
 
74
+ // add discussion_category_name if discussionCategoryName is not undefined or false
75
+ if (discussionCategoryName) {
76
+ release.discussion_category_name = discussionCategoryName;
77
+ }
78
+
79
79
  const {
80
- data: { html_url: url, id: releaseId },
80
+ data: { html_url: url, id: releaseId, discussion_url },
81
81
  } = await octokit.request("POST /repos/{owner}/{repo}/releases", release);
82
82
 
83
83
  logger.log("Published GitHub release: %s", url);
84
- return { url, name: RELEASE_NAME, id: releaseId };
84
+
85
+ if (discussionCategoryName) {
86
+ logger.log("Created GitHub release discussion: %s", discussion_url);
87
+ }
88
+
89
+ return { url, name: RELEASE_NAME, id: releaseId, discussion_url };
85
90
  }
86
91
 
87
92
  // We'll create a draft release, append the assets to it, and then publish it.
@@ -152,18 +157,30 @@ export default async function publish(pluginConfig, context, { Octokit }) {
152
157
  return { url: draftUrl, name: RELEASE_NAME, id: releaseId };
153
158
  }
154
159
 
160
+ const patchRelease = {
161
+ owner,
162
+ repo,
163
+ release_id: releaseId,
164
+ draft: false,
165
+ };
166
+
167
+ // add discussion_category_name if discussionCategoryName is not undefined or false
168
+ if (discussionCategoryName) {
169
+ patchRelease.discussion_category_name = discussionCategoryName;
170
+ }
171
+
155
172
  const {
156
- data: { html_url: url },
173
+ data: { html_url: url, discussion_url },
157
174
  } = await octokit.request(
158
175
  "PATCH /repos/{owner}/{repo}/releases/{release_id}",
159
- {
160
- owner,
161
- repo,
162
- release_id: releaseId,
163
- draft: false,
164
- },
176
+ patchRelease,
165
177
  );
166
178
 
167
179
  logger.log("Published GitHub release: %s", url);
168
- return { url, name: RELEASE_NAME, id: releaseId };
180
+
181
+ if (discussionCategoryName) {
182
+ logger.log("Created GitHub release discussion: %s", discussion_url);
183
+ }
184
+
185
+ return { url, name: RELEASE_NAME, id: releaseId, discussion_url };
169
186
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semantic-release/github",
3
3
  "description": "semantic-release plugin to publish a GitHub release and comment on released Pull Requests/Issues",
4
- "version": "9.2.0",
4
+ "version": "9.2.1",
5
5
  "type": "module",
6
6
  "author": "Pierre Vanduynslager (https://twitter.com/@pvdlg_)",
7
7
  "ava": {