githubnext / githubnext/gh-aw-cao
[dependabot:release-train-updater] create_pull_request fails with No changes to commit for self-target (githubnext/gh-aw-cao) dependency PRs
- Dominant language
- JavaScript
- Stars
- 3
- Forks
- 1
- Avg merge
- 49m
- Merged PRs (30d)
- 837
Description
## Summary
`create_pull_request` safe-output fails with `"No changes to commit - no commits found"` when the target repository is `githubnext/gh-aw-cao` itself (workspace root == target repo), even though a real, non-empty commit exists on the current branch ahead of `origin/main`. This is a confirmed **systemic, repo-specific bug in the create_pull_request pipeline for the self-target scenario**, not a candidate-specific issue — it has now recurred across at least 3 separate runs with 3 different, unrelated diffs (undici override removal, astro/``@astrojs/markdown-remark`` patch bump, and this run's `@playwright/test` patch bump).
## Evidence from this run
- Branch: `dependabot-agent/playwright-test-patch-update-20260911044223`
- Commit: `0a61bc66` — "Bump ``@playwright/test`` devDependency from 1.62.1 to 1.63.0"
- Verified **before** calling `create_pull_request`:
- `git log origin/main..HEAD --oneline` → shows exactly 1 commit (`0a61bc66`)
- `git diff origin/main HEAD --stat` → `package-lock.json` (42 changed), `package.json` (2 changed)
- `git branch --show-current` → `dependabot-agent/playwright-test-patch-update-20260911044223`
- Called `create_pull_request` **twice** (2-retry policy limit): once with explicit `base: "main"`, once without a `base` field at all. **Both attempts returned the identical error**:
```json
{"result":"error","error":"No changes to commit - no commits found","details":"No commits were found to create a pull request. Make sure you have committed your changes using git add and git commit before calling create_pull_request."}
```
## Prior occurrences (from cache-memory, same self-target scenario)
1. `2026-09-10-07-55-35`: undici override fix, diff 41+/34- lines — same error.
2. `2026-09-10-14-37-21`: astro + `@astrojs/markdown-remark` patch bump, diff 50+/11- lines — same error, both with and without explicit `base`.
3. This run (`2026-09-11-04-42-23`): `@playwright/test` patch bump, diff 13+/31- lines — same error, both with and without explicit `base`.
Three different diffs, three different branch names, three different commit SHAs, identical error every time. This strongly indicates the bug is specific to the case where the workspace root checkout **is** the target repository (`githubnext/gh-aw-cao`), as opposed to the `target/` sub-checkout pattern used for other worker targets (e.g. `github/gh-aw`), where `create_pull_request` at least returns a `"success"` response (though separately, some of those have also failed to durably land — a related but distinct issue already tracked in cache-memory).
## Prepared fix (ready to apply manually)
The underlying dependency update itself is small, safe, and fully validated — only the safe-output delivery is blocked. To apply manually:
```
git diff --stat (on branch dependabot-agent/playwright-test-patch-update-20260911044223)
package-lock.json | 42 ++++++++++++------------------------------
package.json | 2 +-
```
- `package.json`: `@playwright/test` `"^1.62.1"` → `"^1.63.0"`
- `package-lock.json`: regenerated via `npm install --package-lock-only --registry=https://registry.npmjs.org/ --ignore-scripts @playwright/test@1.63.0`
- Validation performed: `npm audit --package-lock-only --json` before/after — identical 5 findings (1 high, 4 moderate, pre-existing `@actions/*`/`undici` devDependency chain, unaffected); full `npm install` confirmed `@playwright/test` resolves to `1.63.0` in `node_modules` before an unrelated sandbox network timeout interrupted the install tail; JSON validity of both files confirmed.
- devDependency only (Playwright E2E test tooling), not part of the production build or docs build.
## Recommended remediation
1. Investigate why `create_pull_request` cannot find commits when workspace root == target repository, despite `git log`/`git diff` confirming a real ahead-of-`origin/main` commit exists on the correct branch at call time.
2. Until fixed, workers targeting `githubnext/gh-aw-cao` as a self-target should go straight to `create_issue` (as this run did) after a single verification attempt rather than burning both retries, to save run time.
3. Once fixed, this `@playwright/test` 1.62.1→1.63.0 bump (or a freshly regenerated equivalent) can be applied via a normal PR.
Smart-Dependabot-Merge-Candidate: no (blocked on tooling bug, not dependency risk)
> [!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/34563032128) · copilot · auto · 124.5 AIC · ⌖ 11.6 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, 5:11 AM UTC
Contributor guide
Research direction
Start with the create_pull_request safe-output path and reproduce the self-target case from the reported branch, comparing git log origin/main..HEAD and git diff origin/main HEAD with the tool's commit detection. Use the documented @playwright/test dependency update as a reproduction, then verify that a self-target branch with committed changes produces a durable pull request instead of the no-commits error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, github-actions, javascript
- Domain
- ci-cd, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100