Skip to content

For alpha 20#56

Merged
baxyz merged 15 commits intomainfrom
again-for-alpha-20
Apr 26, 2026
Merged

For alpha 20#56
baxyz merged 15 commits intomainfrom
again-for-alpha-20

Conversation

@baxyz
Copy link
Copy Markdown
Contributor

@baxyz baxyz commented Apr 25, 2026

Description

Please include a summary of what this PR does and why it's needed.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring
  • Test improvement

Related Issues

Closes #(issue number)

How Has This Been Tested?

Describe the tests you ran and how to reproduce them:

  • Test A
  • Test B

Checklist

  • My code follows the code style of this project
  • I have updated the documentation accordingly
  • I have added tests for my changes
  • All new and existing tests passed locally
  • My commits follow the conventional commit format

Screenshots (if applicable)

Add screenshots for UI changes.

Additional Context

Add any other context about the PR here.

Copilot AI review requested due to automatic review settings April 25, 2026 21:04
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates GitHub Actions workflows for the “alpha 20” release cycle, primarily focusing on supply-chain hardening and CI/release workflow behavior.

Changes:

  • Pin all GitHub Actions to immutable commit SHAs instead of version tags.
  • Standardize workflow permissions (including adding permissions: read-all in several workflows and job-level overrides where needed).
  • Update the release workflow to upload mutation reports as artifacts and attach them to the GitHub Release, plus add a fallback token flow for website dispatch.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/scorecard.yml Pins actions to SHAs for scorecard scanning workflow.
.github/workflows/release.yml Pins actions, revises permissions, uploads mutation reports, and tweaks post-publish steps.
.github/workflows/pr-validation.yml Pins actions and refactors permissions for PR validation jobs.
.github/workflows/mutation-dashboard.yml Pins checkout/setup-node actions to SHAs.
.github/workflows/job-verification.yml Adds permissions: read-all and pins actions to SHAs.
.github/workflows/job-typecheck.yml Adds permissions: read-all and pins actions to SHAs.
.github/workflows/job-tests.yml Adds permissions: read-all and pins actions to SHAs.
.github/workflows/job-security.yml Adds permissions: read-all and pins actions to SHAs.
.github/workflows/job-pr-comment.yml Adds permissions: read-all, pins github-script, minor formatting.
.github/workflows/job-lint.yml Adds permissions: read-all and pins actions to SHAs.
.github/workflows/job-build.yml Adds permissions: read-all and pins actions to SHAs.
.github/workflows/job-bench.yml Adds permissions: read-all and pins actions to SHAs.
.github/workflows/auto-assign.yml Pins reusable workflow reference and adds permissions: read-all.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/job-pr-comment.yml
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml
baxyz added 7 commits April 25, 2026 21:54
- implement analyzeCommits to suggest semantic version bumps
- add property-based and contract tests for analyzeCommits
- create examples for commit analysis
- implement isConventionalCommit to validate commit messages
- add examples for usage and expected behavior
- create property-based and contract tests for validation
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Introduces a new commit helper category for Conventional Commits parsing/validation/analysis and wires the release version bump logic to reuse that helper, alongside multiple GitHub Actions workflow hardening updates (action pinning + permissions adjustments).

Changes:

  • Add helpers/commit/* utilities: build regex, parse messages, validate subjects, and analyze commits for semver bump suggestions (with unit/property/contract tests and examples).
  • Refactor scripts/version/commit-analyzer.ts to delegate commit analysis to the new helper.
  • Update multiple GitHub Actions workflows: pin actions to SHAs and revise permissions/artifacts/mutation report publishing.

Reviewed changes

Copilot reviewed 33 out of 34 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
scripts/version/commit-analyzer.ts Switches commit analysis logic to use the new helpers/commit implementation.
helpers/commit/types.ts Adds shared types for Conventional Commit parsing and commit analysis.
helpers/commit/parseConventionalCommit.ts Implements Conventional Commit parsing (subject + body/footer splitting).
helpers/commit/parseConventionalCommit.test.ts Unit tests for parsing behavior and edge cases.
helpers/commit/parseConventionalCommit.spec.ts Property-based + contract tests for parsing.
helpers/commit/parseConventionalCommit.example.ts Usage examples for docs/examples pipeline.
helpers/commit/isConventionalCommit.ts Adds subject-line-only Conventional Commit validation helper.
helpers/commit/isConventionalCommit.test.ts Unit tests for validator behavior.
helpers/commit/isConventionalCommit.spec.ts Property-based + contract tests for validator.
helpers/commit/isConventionalCommit.example.ts Usage examples for validator.
helpers/commit/config.json Registers the new commit helper category metadata.
helpers/commit/buildConventionalCommitRegex.ts Builds a configurable Conventional Commit subject regex.
helpers/commit/buildConventionalCommitRegex.test.ts Unit tests for regex builder behavior/capture groups.
helpers/commit/buildConventionalCommitRegex.spec.ts Property-based + contract tests for regex builder.
helpers/commit/buildConventionalCommitRegex.example.ts Usage examples for regex builder.
helpers/commit/analyzeCommits.ts Adds commit list analysis to suggest semver bump (major/minor/patch).
helpers/commit/analyzeCommits.test.ts Unit tests for bump suggestion logic and precedence.
helpers/commit/analyzeCommits.spec.ts Property-based + contract tests for bump suggestion logic.
helpers/commit/analyzeCommits.example.ts Usage examples for commit analysis helper.
.vscode/settings.json Updates Conventional Commits scopes list (adds commit).
.github/workflows/scorecard.yml Pins actions to SHAs and normalizes YAML formatting/quoting.
.github/workflows/release.yml Tightens permissions defaults, uploads mutation reports, and publishes them to releases.
.github/workflows/pr-validation.yml Updates action pinning and refines job-level permissions for PR validation/commenting.
.github/workflows/mutation-dashboard.yml Pins checkout/setup-node actions to SHAs.
.github/workflows/job-verification.yml Adds permissions: read-all and pins download-artifact to a SHA.
.github/workflows/job-typecheck.yml Adds permissions: read-all and pins checkout/setup-node.
.github/workflows/job-tests.yml Adds permissions: read-all and pins checkout/setup-node.
.github/workflows/job-security.yml Adds permissions: read-all and pins checkout/setup-node.
.github/workflows/job-pr-comment.yml Adds permissions: read-all and pins github-script action.
.github/workflows/job-lint.yml Adds permissions: read-all and pins checkout/setup-node.
.github/workflows/job-build.yml Adds permissions: read-all and pins upload-artifact action to a SHA.
.github/workflows/job-bench.yml Adds permissions: read-all and pins download-artifact action to a SHA.
.github/workflows/auto-assign.yml Pins reusable workflow reference and sets workflow-level permissions.
.devcontainer/workflow.log Removes a committed workflow log artifact from the repo.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/version/commit-analyzer.ts
Comment thread helpers/commit/isConventionalCommit.ts Outdated
Comment thread .github/workflows/auto-assign.yml Outdated
Comment thread .github/workflows/job-pr-comment.yml Outdated
baxyz added 3 commits April 25, 2026 22:15
- set permissions for auto-assign, job-bench, job-build, job-lint, job-pr-comment, job-security, job-tests, job-typecheck, job-verification, and release workflows
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR prepares the repo for an upcoming “alpha 20” by introducing a new commit helper category (Conventional Commits parsing + analysis), refactoring version tooling to reuse that helper logic, renaming the string helper errorToReadableMessageextractErrorMessage, and updating CI workflows (action pinning + permissions + mutation report handling).

Changes:

  • Add helpers/commit/* utilities for Conventional Commits validation/parsing and semver bump analysis (with tests/specs/examples + category config).
  • Rename errorToReadableMessage to extractErrorMessage and update tests/specs/examples and template docs accordingly.
  • Update GitHub Actions workflows (pin actions to SHAs, adjust permissions, and upload mutation reports as release assets).

Reviewed changes

Copilot reviewed 38 out of 39 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
scripts/version/commit-analyzer.ts Refactors commit analysis to call the new helpers/commit analyzer.
helpers/string/extractErrorMessage.ts Renames the exported helper to extractErrorMessage and updates recursive call site.
helpers/string/extractErrorMessage.test.ts Updates unit tests to the new helper name.
helpers/string/extractErrorMessage.spec.ts Updates contract/property tests to the new helper name.
helpers/string/extractErrorMessage.example.ts Updates examples metadata and snippets to extractErrorMessage.
helpers/commit/types.ts Adds shared types for Conventional Commit parsing and commit analysis.
helpers/commit/buildConventionalCommitRegex.ts Adds regex builder for Conventional Commit subject matching.
helpers/commit/buildConventionalCommitRegex.test.ts Adds unit tests for the regex builder.
helpers/commit/buildConventionalCommitRegex.spec.ts Adds property-based + contract tests for the regex builder.
helpers/commit/buildConventionalCommitRegex.example.ts Adds examples for the regex builder helper.
helpers/commit/isConventionalCommit.ts Adds a helper to validate Conventional Commit subjects.
helpers/commit/isConventionalCommit.test.ts Adds unit tests for isConventionalCommit.
helpers/commit/isConventionalCommit.spec.ts Adds property-based + contract tests for isConventionalCommit.
helpers/commit/isConventionalCommit.example.ts Adds examples for isConventionalCommit.
helpers/commit/parseConventionalCommit.ts Adds Conventional Commit parsing (subject + body/footer split).
helpers/commit/parseConventionalCommit.test.ts Adds unit tests for commit parsing behavior.
helpers/commit/parseConventionalCommit.spec.ts Adds property-based + contract tests for commit parsing.
helpers/commit/parseConventionalCommit.example.ts Adds examples for parseConventionalCommit.
helpers/commit/analyzeCommits.ts Adds semver bump suggestion logic based on parsed commits.
helpers/commit/analyzeCommits.test.ts Adds unit tests for bump analysis behavior.
helpers/commit/analyzeCommits.spec.ts Adds property-based + contract tests for bump analysis.
helpers/commit/analyzeCommits.example.ts Adds examples for analyzeCommits.
helpers/commit/config.json Registers the new commit helper category metadata.
.vscode/settings.json Adds commit scope and adjusts Conventional Commits scope list.
.template/bundle/README.md Updates template docs to import extractErrorMessage.
.github/workflows/scorecard.yml Pins actions to SHAs and normalizes formatting/quoting.
.github/workflows/release.yml Updates permissions model, pins actions, and publishes mutation artifacts to releases.
.github/workflows/pr-validation.yml Pins actions and revises permissions across jobs.
.github/workflows/mutation-dashboard.yml Pins checkout/setup-node actions to SHAs.
.github/workflows/job-verification.yml Pins download-artifact action to SHA and adds top-level permissions.
.github/workflows/job-typecheck.yml Adds top-level permissions and pins actions to SHAs.
.github/workflows/job-tests.yml Adds top-level permissions and pins actions to SHAs.
.github/workflows/job-security.yml Adds top-level permissions and pins actions to SHAs.
.github/workflows/job-pr-comment.yml Adds top-level permissions, tweaks job permissions, and pins github-script.
.github/workflows/job-lint.yml Adds top-level permissions and pins actions to SHAs.
.github/workflows/job-build.yml Adds top-level permissions, pins upload-artifact action to SHA.
.github/workflows/job-bench.yml Adds top-level permissions and pins actions to SHAs.
.github/workflows/auto-assign.yml Pins reusable workflow reference to SHA and adds explicit permissions.
.devcontainer/workflow.log Removes a committed workflow log artifact.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/job-verification.yml
Comment thread .vscode/settings.json Outdated
Comment thread scripts/version/commit-analyzer.ts Outdated
Comment thread helpers/commit/analyzeCommits.ts
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/pr-validation.yml
Comment thread .github/workflows/job-build.yml
@baxyz baxyz merged commit 4651dd2 into main Apr 26, 2026
15 checks passed
@baxyz baxyz deleted the again-for-alpha-20 branch April 26, 2026 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants