-
Notifications
You must be signed in to change notification settings - Fork 276
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: Add a release notes generator #2692
Conversation
Fixes containers#1458 Signed-off-by: Jeff MAURY <jmaury@redhat.com>
Signed-off-by: Jeff MAURY <jmaury@redhat.com>
Signed-off-by: Jeff MAURY <jmaury@redhat.com>
tools/tsconfig.json
Outdated
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ | ||
|
||
/* Modules */ | ||
"module": "CommonJS", /* Specify what module code is generated. */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think our modules are now using node16 or esnext
curious: in the title, it is referencing |
Signed-off-by: Jeff MAURY <jmaury@redhat.com>
- Code refactoring - Switch module to esnext Signed-off-by: Jeff MAURY <jmaury@redhat.com>
.github/workflows/release-notes.yaml
Outdated
description: 'Milestone to generate release notes from' | ||
required: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe need to add placeholder (example in the description) with the format of the expected value
is it: 1.0.0, v1.0.0 or milestone number like 18 for 1.1.0 https://github.com/containers/podman-desktop/milestone/18
.github/workflows/release-notes.yaml
Outdated
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe nodejs 18 now that it's the LTS
tools/package.json
Outdated
}, | ||
"dependencies": { | ||
"@octokit/graphql": "^5.0.6", | ||
"@types/node": "^20.2.4" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's 18 as we're using nodejs 18 in electron (and you were running the generator with v16)
tools/src/generator.ts
Outdated
['feat', 'Features'], | ||
['fix', 'Bug Fixes'], | ||
['docs', 'Documentation'], | ||
['chore', 'Other'], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is chore not already a dedicated section ?
Like 'Chore'. I would say Other is not what is already specified
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- need example in the description of the github action
- probably need an update of RELEASE.md to call this action ?
- should bump to nodejs 18 (and ensure
@types/node
is 18 as well, not 20) - Keep chore as a dedicated section (To me other is what is not matching a conventional commit prefix)
Signed-off-by: Jeff MAURY <jmaury@redhat.com>
hello, is there something preventing to merge this PR ? |
Waiting for @deboer-tim feedback |
Fixes #1458
What does this PR do?
Add a new release generator tool. This tool extracts all merged PRs for a milestone and checks for sections delimited by
// release-notes
. If such sections are found for a PR, it will be added to the release notes document in addition to the PR title and link. An example can be found at https://github.com/jeffmaury/test-release-notes/actions/runs/4665291287PRs are grouped according to conventional commits prefixes, using a translation table. If prefix is not found in the table,
Other
category is assumedA workflow is also added to allow manual invocation of the tool
Screenshot/screencast of this PR
N/A
What issues does this PR fix or reference?
Fixes #1458
How to test this PR?
The tool can also be run:
yarn build
node --token your_github_token --organization github_organization (or --user github_user if it's a user) --repo github_repo