FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Create `changetool` script for validating change-notes by mario-campos · Pull Request #4113 · github/codeql-action · GitHub

Create changetool script for validating change-notes - #4113

Merged
mario-campos merged 9 commits into
mainfrom
mario-campos/add-changenote-script
Aug 27, 2026
Merged

mario-campos merged 9 commits into
mainfrom
mario-campos/add-changenote-script

Conversation

mario-campos commented Aug 26, 2026 •
edited
Loading

Copy link
Copy Markdown
Contributor

This PR introduces a distinct NPM package/script under scripts/changetool for the purpose of validating change-notes (and eventually, in a subsequent PR, merging change-notes into CHANGELOG.md).

Presently, this script has only one command, validate (executed as npm --workspace changetool start validate), which accepts path(s) to change-note files to be validated. Any flaws in the change-notes are described in the output, and the command will exit with 1.

$ npm --workspace changetool start validate package.json 

> changetool@1.0.0 start
> tsx index.ts validate package.json

package.json: invalid filename; must match pattern YYYY-MM-DD-id.md
package.json: invalid category; must be one of: breaking, feature, improvement, securityFix, fix, unship, deprecation, knownIssue, misc
package.json: invalid Markdown; content must be a single unordered list with hyphen bullets and no other Markdown elements

Risk assessment

For internal use only. Please select the risk level of this change:

  • Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.

Which use cases does this change impact?

Workflow types:

  • N/A

Products:

  • N/A

Environments:

  • Testing/None - This change does not impact any CodeQL workflows in production.

How did/will you validate this change?

  • Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files).

If something goes wrong after this change is released, what are the mitigation and rollback strategies?

  • Development/testing only - This change cannot cause any failures in production.

How will you know if something goes wrong after this change is released?

  • N/A

Are there any special considerations for merging or releasing this change?

  • No special considerations - This change can be merged at any time.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Consider adding a changelog entry for this change.
  • Confirm the readme and docs have been updated if necessary.

Copilot AI balanced review requested due to automatic review settings August 26, 2026 22:13
mario-campos requested a review from a team as a code owner August 26, 2026 22:13
github-actions Bot added the size/XXL May be extremely hard to review label Aug 26, 2026
mario-campos force-pushed the mario-campos/add-changenote-script branch from eb65ce0 to 426c104 Compare August 26, 2026 22:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Pull request overview

Adds a standalone TypeScript CLI for validating change-note files.

Changes:

  • Validates filenames, categories, and Markdown structure.
  • Adds unit tests and package configuration.
  • Integrates changetool testing and linting into CI.
Show a summary per file
File Description
scripts/changetool/index.ts Implements CLI dispatch and exit codes.
scripts/changetool/cli/validate.ts Implements change-note validation.
scripts/changetool/cli/validate.test.ts Tests validation behavior.
scripts/changetool/package.json Defines scripts and dependencies.
scripts/changetool/package-lock.json Locks package dependencies.
scripts/changetool/tsconfig.json Configures TypeScript compilation.
eslint.config.mjs Adds changetool lint configuration.
.github/workflows/pr-checks.yml Adds a dedicated test job.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Files not reviewed (1)
  • scripts/changetool/package-lock.json: Generated file
  • Files reviewed: 7/8 changed files
  • Comments generated: 7
  • Review effort level: Balanced

Comment thread scripts/changetool/index.ts Outdated
Comment thread scripts/changetool/cli/validate.ts Outdated
Comment thread scripts/changetool/cli/validate.ts Outdated
github-actions Bot added size/L May be hard to review and removed size/XXL May be extremely hard to review labels Aug 27, 2026
henrymercer previously approved these changes Aug 27, 2026

henrymercer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Nice, just a couple of minor package.json suggestions:

Comment thread scripts/changetool/package.json Outdated
Co-authored-by: Henry Mercer <henrymercer@github.com>
mario-campos added this pull request to the merge queue Aug 27, 2026
Merged via the queue into main with commit 6f53031 Aug 27, 2026
224 checks passed
mario-campos deleted the mario-campos/add-changenote-script branch August 27, 2026 18:24

mbg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

@mario-campos @henrymercer Obviously a late comment, but I am wondering about the motivation for moving this to a separate project in scripts/changetool? I don't see the reasoning explained here, but wouldn't it have kept things simpler to have it in pr-checks along with the other changelog related code?

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L May be hard to review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants


Back | FazBrowse Home | New Git URL