githubnext / githubnext/gh-aw-cao
[dependabot:release-train-updater] create_pull_request fails with no commits found for self-target githubnext/gh-aw-cao dependency bumps
- Dominant language
- JavaScript
- Stars
- 3
- Forks
- 1
- Avg merge
- 49m
- Merged PRs (30d)
- 837
Description
`create_pull_request` failed twice with "No changes to commit - no commits found" while attempting to open a routine devDependency bump PR for `githubnext/gh-aw-cao` (self-target: workspace root == target repo). This is now the **3rd confirmed occurrence** of this exact error signature for this repo/self-target scenario, following two prior occurrences recorded in this workflow's cache memory (undici override attempt, and an astro/``@astrojs/markdown-remark`` bump — both different diffs, different branches, different commit SHAs, same error).
## Evidence this run
- Branch: `dependabot-agent/playwright-test-patch-20260911024003`
- Commit: `970bf2f0` — "Bump ``@playwright/test`` 1.62.1 -> 1.63.0", on top of `main`@`c8f752be`
- Verified **before** calling `create_pull_request` (both attempts):
- `git log origin/main..HEAD --oneline` → shows exactly 1 non-empty commit (`970bf2f0`)
- `git diff origin/main HEAD --stat` → `package-lock.json | 42 +++---------`, `package.json | 2 +-`
- `git remote -v` → `origin` correctly points at `https://github.com/githubnext/gh-aw-cao.git`
- Attempt 1 (title/branch/body only) and attempt 2 (added explicit `base: "main"`): both returned the identical error:
`{"result":"error","error":"No changes to commit - no commits found", ...}`
## Pattern (3 occurrences, all self-target `githubnext/gh-aw-cao`)
1. 2026-09-10 07:55 — undici override fix, diff ~41+/34-
2. 2026-09-10 14:37 — astro + ``@astrojs/markdown-remark`` bump, diff ~50+/11-
3. 2026-09-11 02:40 (this run) — ``@playwright/test`` bump, diff 13+/31-
All three: different diffs/branches/commits, same repo (self-target, workspace root IS the target repo rather than a separate `target/` checkout), same exact error. Runs targeting *other* repos via a `target/` checkout (e.g. github/gh-aw, github/gh-aw-firewall) have not hit this error. This strongly suggests a bug in the `create_pull_request` safe-output tool specific to the self-target case (workspace root == target repo) rather than a diff-size or content issue.
## Prepared fix (ready to apply manually, or once the tool bug is fixed)
```diff
--- a/package.json
+++ b/package.json
@@
- "@playwright/test": "^1.62.1",
+ "@playwright/test": "^1.63.0",
```
Plus the corresponding `package-lock.json` regeneration via `npm install --package-lock-only --ignore-scripts` (updates `@playwright/test`, `playwright`, `playwright-core` to 1.63.0; also drops a stale macOS-only optional `fsevents` entry no longer required at 1.63.0).
### Validation already performed
- `npm view @playwright/test@1.62.1 dependencies` vs `@1.63.0`: identical shape (pure patch bump).
- `npm audit --package-lock-only --json`: unchanged findings before/after (1 high, 4 moderate — pre-existing, unrelated `@actions/github`/`undici` chain).
- Both manifest files validated as well-formed JSON.
- Confirmed via `git stash` that `npm ci --ignore-scripts` fails identically ("Exit handler never called!", `node_modules/yaml/` left empty) on unmodified `main` with zero dependency changes — a pre-existing sandbox npm limitation, unrelated to this change.
## Suggested next step for maintainers
Investigate why `create_pull_request` reports "no commits found" specifically when `target_repo == githubnext/gh-aw-cao` and the workspace root (not a separate `target/` checkout) is used to prepare the branch/commit — likely a base-ref resolution issue in the safe-output tool for the self-target case. Given 3 confirmed occurrences with fully verified pre-conditions, this looks like a systemic tooling bug rather than candidate-specific bad luck.
> [!WARNING]
>
> Firewall blocked 4 domains
>
> The following domains were blocked by the firewall during workflow execution:
>
> - `msfeed12.pkgs.visualstudio.com`
> - `msfeed17.pkgs.visualstudio.com`
> - `msfeed2.pkgs.visualstudio.com`
> - `msfeed25.pkgs.visualstudio.com`
>
> To allow these domains, add them to the `network.allowed` list in your workflow frontmatter:
>
> ```yaml
> network:
> allowed:
> - defaults
> - "msfeed12.pkgs.visualstudio.com"
> - "msfeed17.pkgs.visualstudio.com"
> - "msfeed2.pkgs.visualstudio.com"
> - "msfeed25.pkgs.visualstudio.com"
> ```
>
> See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information.
>
>
> Generated by [:dependabot: Dependabot / Release Trains](https://github.com/githubnext/gh-aw-cao/actions/runs/34555129204) · copilot · auto · 138.4 AIC · ⌖ 13.7 AIC · ⊞ 18.1K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fgh-aw-cao+is%3Aissue+%22gh-aw-workflow-call-id%3A+githubnext%2Fgh-aw-cao%2Fdependabot-release-train-updater%22&type=issues)
>
Add this agentic workflow to your repo
To install this agentic workflow, run
```
gh aw add githubnext/gh-aw-cao/.github/workflows/dependabot-release-train-updater.md@main
```
> - [x] expires on Sep 25, 2026, 2:56 AM UTC
Contributor guide
Research direction
Start with the create_pull_request safe-output entry point and compare self-target workspace-root handling with runs using a separate target/ checkout. Use the three recorded branches, commits, and git diff/log checks as reproduction evidence, with package.json and package-lock.json as the prepared dependency-change files. Done means self-target dependency bumps create pull requests without the false “No changes to commit” error while other-repository targets continue to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, github, javascript
- Domain
- ci-cd, devtools, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100