-
-
Notifications
You must be signed in to change notification settings - Fork 8
chore(deps): bump tj-actions/changed-files from 47.0.5 to 47.0.6 #344
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -15,13 +15,13 @@ | |
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | ||
|
|
||
| - name: Get changed files | ||
| id: changed-files | ||
| uses: tj-actions/changed-files@22103cc46bda19c2b464ffe86db46df6922fd323 # v47.0.5 | ||
| uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 | ||
|
Check notice on line 21 in .github/workflows/auto-label.yml
|
||
| with: | ||
| files_yaml: | | ||
| src: | ||
|
Check notice on line 24 in .github/workflows/auto-label.yml
|
||
|
Comment on lines
22
to
24
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟣 Pre-existing issue: The label existence check in Extended reasoning...Bug description: In try {
await github.rest.issues.getLabel({ owner, repo, name: label });
} catch (e) {
// Create label if it doesn't exist
await github.rest.issues.createLabel({ ... });
}How it manifests: The catch block is only intended to handle HTTP 404 (Not Found) errors — i.e., when the label does not yet exist. But since there is no Specific code path: When Why existing code doesn't prevent it: There is no inner try/catch around Impact: During periods of GitHub API instability or rate limiting, the auto-label workflow can fail with a Concrete proof (step-by-step):
Fix: Add a status check at the start of the catch block: } catch (e) {
if (e.status \!== 404) throw e;
// Create label if it doesn't exist
await github.rest.issues.createLabel({ ... });
}Note: This is a pre-existing issue unrelated to this PR's change (bumping |
||
| - 'src/**' | ||
| docs: | ||
| - 'docs/**' | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,13 +19,13 @@ | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Get changed files | ||
| id: changed-files | ||
| uses: tj-actions/changed-files@22103cc46bda19c2b464ffe86db46df6922fd323 # v47.0.5 | ||
| uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 | ||
| with: | ||
| files_yaml: | | ||
| src: | ||
|
Check notice on line 28 in .github/workflows/docs-check.yml
|
||
|
Comment on lines
22
to
28
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟣 This is a pre-existing issue: the docs-check.yml workflow has two related logic bugs that render the documentation check completely non-functional. The on.pull_request.paths trigger only watches docs/**, README.md, and CHANGELOG.md — it never fires for src-only PRs, so the check-docs-updated job can never warn about missing documentation for source changes. Additionally, adding [skip-docs-check] to the PR title does not suppress the warning because the warning step runs before the skip step, emitting the annotation regardless. Extended reasoning...Bug 1: Inverted path trigger renders the docs check dead for its intended use case The docs-check.yml workflow fires on pull_request events only when files matching docs/, README.md, or CHANGELOG.md are changed (lines 6-9). However, the entire purpose of the check-docs-updated job is to warn when src//*.ts files are modified WITHOUT corresponding documentation updates. This is logically inverted: the workflow only triggers when docs are changed, but the check is supposed to fire when docs are not changed alongside src. As a result, any PR that changes only source code files will not trigger this workflow at all — the safety net silently disappears for exactly the PRs it is meant to catch. Concrete proof of Bug 1: Consider a PR that modifies src/commands/run.ts but no documentation files. The on.pull_request.paths filter does not match — the workflow is never queued. The developer receives no warning. The check-docs-updated job's condition ( Bug 2: Step ordering makes [skip-docs-check] ineffective The check-docs-updated step at line 35 has Concrete proof of Bug 2: A PR titled 'fix: update parser logic [skip-docs-check]' changes src/parser.ts but no docs. Step 1 (line 35) runs because src_any_changed is 'true'; it echoes Addressing the duplicate objection for Bug 1: One verifier noted bug_003 may duplicate bug_001. The synthesis agent explicitly merged both bugs (bug_003 and bug_005) into this combined merged_bug_003 because they are two distinct but related logic errors in the same job — the path trigger inversion and the step-ordering skip failure. Even if the path trigger issue overlaps with bug_001, the skip-mechanism ordering bug (bug_005) is a separate and independent defect that this merged report covers. The combined report is therefore not a pure duplicate. Impact and context: Both bugs are pre-existing — this PR only version-bumps tj-actions/changed-files from 47.0.5 to 47.0.6 — but the PR does touch docs-check.yml, making this the right moment to flag them. The practical impact is that source code changes can silently merge without documentation updates, and the [skip-docs-check] escape hatch misleads contributors into thinking their warning was suppressed when it was not. |
||
| - 'src/**/*.ts' | ||
| docs: | ||
| - 'README.md' | ||
|
|
||
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.
🟣 This is a pre-existing issue:
.github/dependabot.ymlspecifies thegithub-actionslabel for the github-actions package ecosystem, but this label does not exist in the repository. Theauto-label.ymlworkflow's color map (which drives auto-creation) also does not includegithub-actions, so the label is never created — causing every Dependabot GitHub Actions PR (including this one) to emit the error: 'The following labels could not be found: github-actions'. Fix: add'github-actions': 'XXXXXX'to thecolorsmap inauto-label.ymlso the label is auto-created when needed, or manually create the label in the repo settings.Extended reasoning...
What the bug is and how it manifests
The
.github/dependabot.ymlconfiguration specifieslabels: ['dependencies', 'github-actions']for thegithub-actionspackage ecosystem (line 53). When Dependabot opens a PR for a GitHub Actions dependency bump, it attempts to attach both labels. Thegithub-actionslabel does not exist in the repository, so Dependabot cannot apply it and emits an error comment instead.The specific code path that triggers it
Dependabot reads
dependabot.ymlwhen creating the PR and calls the GitHub Labels API to add the listed labels. Whengithub-actionsis not found, the API returns a 404/422 error and Dependabot posts the error comment visible in this PR's timeline: 'The following labels could not be found:github-actions. Please create it before Dependabot can add it to a pull request.'Why existing code doesn't prevent it
The
auto-label.ymlworkflow (modified in this PR) has acolorsmap that lists every label it may need to auto-create:core,documentation,ci/cd,security,config,tests,enhancement,bug,chore,refactor,performance,breaking-change,devops,dependencies,candidate-release. The labelgithub-actionsis absent from this map. Even if the auto-label workflow ran first, it would never create thegithub-actionslabel. Furthermore, the auto-label workflow runs after PR creation viapull_request: opened— by which point Dependabot has already attempted and failed to apply its labels.Impact
Every Dependabot PR that bumps a GitHub Actions dependency (e.g., this PR and all future
github-actionsecosystem bumps) will have a permanent error comment from Dependabot and will be missing the intendedgithub-actionslabel. This is noise in the PR timeline and breaks intended labeling/filtering workflows.How to fix it
Add
'github-actions': '2088FF'(or any appropriate color) to thecolorsobject inside theauto-label.ymlscript block. This ensures the label is auto-created by the workflow when needed. Alternatively, manually create thegithub-actionslabel in the GitHub repository settings, or updatedependabot.ymlto reference only existing labels.Step-by-step proof
.github/dependabot.ymland finds thegithub-actionsecosystem entry withlabels: ['dependencies', 'github-actions'].dependenciesandgithub-actionsto the PR.dependenciesexists (it is in the auto-label color map and has been created), so it applies successfully.github-actionsdoes not exist in the repo — the API call fails.github-actions.'auto-label.ymlworkflow runs on PR open/sync, but its color map has no entry forgithub-actions, so it never creates the label either.