Skip to content

Support Merge Queue Event#46

Open
npwolf wants to merge 20 commits intoAna06:mainfrom
npwolf:main
Open

Support Merge Queue Event#46
npwolf wants to merge 20 commits intoAna06:mainfrom
npwolf:main

Conversation

@npwolf
Copy link
Copy Markdown

@npwolf npwolf commented Nov 27, 2024

Github introduced the Merge Queue feature. This PR allows the action to work with the new merge_group event.

Without this change the following error occurs when a PR enters the merge queue:

Run Ana06/get-changed-files@v2.3.0
Error: This action only supports pull requests and pushes, merge_group events are not supported. Please submit an issue on this action's GitHub repo if you believe this in correct.
Base commit: undefined
Head commit: undefined
Error: The base and head commits are missing from the payload for this merge_group event. Please submit an issue on this action's GitHub repo.
Error: Not Found

@npwolf
Copy link
Copy Markdown
Author

npwolf commented Jan 15, 2025

@Ana06 could you take a look at this?

npwolf and others added 19 commits March 27, 2026 10:56
…ests

- Add semantic-release workflow with changelog generation and major version tag updates
- Add PR title validation (conventional commits) via CI workflow
- Add dependabot config for npm and GitHub Actions dependencies (chore prefix, no auto-release)
- Upgrade Node from 20 to 22, modernize dev dependencies (TS 5, Jest 29, ESLint 8)
- Extract helper functions from main.ts and add 29 unit tests
- Simplify ESLint config for modern @typescript-eslint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…zation

feat: add automated releases, dependabot, Node 22 upgrade, and unit tests
semantic-release's GitHub plugin needs pull-requests:write to comment
on PRs associated with releases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: add pull-requests permission to release workflow
- Update all action references from Ana06/get-changed-files@v2.3.0 to npwolf/get-changed-files@v1
- Update CI badge to point to npwolf repo
- Add merge_group to supported events
- Update fork description to reflect all current features
- Add release process documentation (conventional commits)
- Rename "Install, Build..." section to "Development"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Merge test.yml and ci.yml into one workflow with all jobs
- Remove debug job (just dumped context, not needed)
- Rename build job to build-and-test
- Add required-checks gate job that depends on all other jobs
- validate-pr-title skips on push events, required-checks handles this

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
docs: update README with correct repo references and current features
refactor: consolidate CI workflows into single ci.yml
…ooldown

- Production npm deps use fix(deps) prefix to trigger patch releases
- Dev npm deps use chore(deps-dev) prefix (no release)
- GitHub Actions deps use chore(deps) prefix (no release)
- Add 5-day cooldown on all dependency updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
chore: configure dependabot to trigger releases for prod deps and add cooldown
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5 to 6.
- [Release notes](https://github.com/amannn/action-semantic-pull-request/releases)
- [Changelog](https://github.com/amannn/action-semantic-pull-request/blob/main/CHANGELOG.md)
- [Commits](amannn/action-semantic-pull-request@v5...v6)

---
updated-dependencies:
- dependency-name: amannn/action-semantic-pull-request
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….0 (#9)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.21.0 to 7.0.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.0.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 7.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest). These dependencies needed to be updated together.

Updates `jest` from 29.7.0 to 30.3.0
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.3.0/packages/jest)

Updates `@types/jest` from 29.5.14 to 30.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-version: 30.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: "@types/jest"
  dependency-version: 30.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 28.14.0 to 29.15.0.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- [Commits](jest-community/eslint-plugin-jest@v28.14.0...v29.15.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jest
  dependency-version: 29.15.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…16)

* feat: upgrade major dependencies and add run() tests

Upgrade production dependencies:
- @actions/core 1.x → 2.x (adds Node 24 support, stays CJS-compatible)
- @actions/github 2.x → 6.x (modern Octokit API with getOctokit())
- minimatch 3.x → 10.x (named export, built-in types)

Note: @actions/core@3 and @actions/github@8+ are ESM-only and
incompatible with the current CJS build setup.

Code changes:
- helpers.ts: import {minimatch} from 'minimatch' (named export)
- main.ts: use github.getOctokit() and client.rest.repos.compareCommits()
- main.ts: export run() without auto-calling (testability)
- index.ts: new entry point that calls run()

Test coverage:
- Add 14 tests for run() covering all event types, output formats,
  filtering, error handling, and edge cases
- Remove @types/minimatch and @octokit/rest devDeps (no longer needed)
- Total: 43 tests, 100% statement/line/function coverage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address code review findings from simplify

- Add early return after setFailed() for invalid format and non-200 API
  response (bug: execution continued with bad state)
- Fix 'string-delimited' typo in error message (should be 'space-delimited')
- Fix 'this in correct' typo in helpers.ts (should be 'this is incorrect')
- Remove dead code: || '*' fallback on getMultilineInput (required: true
  means it throws, and fallback was wrong type anyway)
- Pre-compile minimatch patterns once instead of re-parsing per file
- Check for spaces once on the 'all' superset instead of every sub-array

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test: add missing test cases from code review

- pull_request_target event integration test
- undefined response.data.files (exercises || [] guard)
- space-in-filename error propagation in space-delimited format

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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