Skip to content

Commit

Permalink
Wrap up the github.autoGenerate feature
Browse files Browse the repository at this point in the history
  • Loading branch information
webpro committed Jan 9, 2022
1 parent 0a4c605 commit a467b5f
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 6 deletions.
1 change: 1 addition & 0 deletions config/release-it.json
Expand Up @@ -33,6 +33,7 @@
"release": false,
"releaseName": "Release ${version}",
"releaseNotes": null,
"autoGenerate": false,
"preRelease": false,
"draft": false,
"tokenRef": "GITHUB_TOKEN",
Expand Down
2 changes: 2 additions & 0 deletions docs/github-releases.md
Expand Up @@ -75,6 +75,8 @@ An example:
}
```

Use `--github.autoGenerate` to have GitHub auto-generate the release notes.

See [Changelog](./changelog.md) for more information about generating changelogs/release notes.

## Attach binary assets
Expand Down
2 changes: 1 addition & 1 deletion lib/plugin/github/GitHub.js
Expand Up @@ -187,7 +187,7 @@ class GitHub extends Release {

getOctokitReleaseOptions(options = {}) {
const { owner, project: repo } = this.getContext('repo');
const { releaseName, draft = false, preRelease = false, autoGenerate } = this.options;
const { releaseName, draft = false, preRelease = false, autoGenerate = false } = this.options;
const { tagName } = this.config.getContext();
const { version, releaseNotes } = this.getContext();
const { isPreRelease } = parseVersion(version);
Expand Down
4 changes: 3 additions & 1 deletion test/github.js
Expand Up @@ -116,7 +116,9 @@ test('should create auto generated release notes', async t => {

interceptAuthentication();
interceptCollaborator();
interceptCreate({ body: { tag_name: '2.0.2', name: 'Release 2.0.2', draft: false, prerelease: false, generate_release_notes: true } });
interceptCreate({
body: { tag_name: '2.0.2', name: 'Release 2.0.2', draft: false, prerelease: false, generate_release_notes: true }
});

await runTasks(github);

Expand Down
16 changes: 12 additions & 4 deletions test/stub/github.js
Expand Up @@ -40,10 +40,17 @@ const interceptCreate = ({
host = 'github.com',
owner = 'user',
project = 'repo',
body: { tag_name, name = '', body = null, prerelease = false, draft = false, generate_release_notes }
body: { tag_name, name = '', body = null, prerelease = false, draft = false, generate_release_notes = false }
} = {}) =>
nock(api)
.post(`/repos/${owner}/${project}/releases`, { tag_name, name, body, prerelease, draft, generate_release_notes })
.post(`/repos/${owner}/${project}/releases`, {
tag_name,
name,
body,
prerelease,
draft,
generate_release_notes
})
.reply(() => {
const id = 1;
const responseBody = {
Expand All @@ -65,17 +72,18 @@ const interceptUpdate = ({
api = 'https://api.github.com',
owner = 'user',
project = 'repo',
body: { tag_name, name = '', body = null, prerelease = false, draft = false }
body: { tag_name, name = '', body = null, prerelease = false, draft = false, generate_release_notes = false }
} = {}) =>
nock(api)
.patch(`/repos/${owner}/${project}/releases/1`, { tag_name, name, body, draft, prerelease })
.patch(`/repos/${owner}/${project}/releases/1`, { tag_name, name, body, draft, prerelease, generate_release_notes })
.reply(200, {
id: 1,
tag_name,
name,
body,
prerelease,
draft,
generate_release_notes,
upload_url: `https://uploads.${host}/repos/${owner}/${project}/releases/1/assets{?name,label}`,
html_url: `https://${host}/${owner}/${project}/releases/tag/${tag_name}`
});
Expand Down

0 comments on commit a467b5f

Please sign in to comment.