Skip to content

Commit bf938f7

Browse files
committed
docs: add composer audit ignore and batch PR merge gotchas
1 parent 6e8843c commit bf938f7

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

skills/github-project/references/tag-validation.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,35 @@ Add **before** any publish/deploy step:
102102
| Go | `version.go` | `sed -nE 's/.*Version[[:space:]]*=[[:space:]]*"([^"]+)".*/\1/p'` |
103103
| Rust | `Cargo.toml` | `sed -nE 's/^version[[:space:]]*=[[:space:]]*"([^"]+)".*/\1/p'` |
104104

105+
## Composer Audit Blocking Installs
106+
107+
Composer 2.7+ blocks `composer install/require` if a dependency has a known security advisory (exit code 2). This can break CI even when the advisory is in a transitive dependency you don't control.
108+
109+
**Temporary exemption in `composer.json`:**
110+
```json
111+
{
112+
"config": {
113+
"audit": {
114+
"ignore": {
115+
"PKSA-xxxx-yyyy": "Upstream issue via dependency-name, no fix available yet"
116+
}
117+
}
118+
}
119+
}
120+
```
121+
122+
Remove the exemption once the upstream fix is released.
123+
124+
## Batch PR Merging Gotchas
125+
126+
When merging PRs across many repos:
127+
128+
- **Check allowed merge methods** — repos may only allow rebase, squash, or merge commits. Use `gh api repos/OWNER/REPO --jq '{allow_merge: .allow_merge_commit, allow_rebase: .allow_rebase_merge, allow_squash: .allow_squash_merge}'`
129+
- **`--admin` bypasses branch protection** — useful when `enforce_admins` is false and you're a repo admin
130+
- **`--delete-branch` fails with merge queues** — omit the flag for repos with merge queues enabled
131+
- **`dismiss_stale_reviews` clears approvals on force-push** — after rebasing, auto-approve workflows must re-run
132+
- **GitHub API content pushes aren't GPG-signed** — commits via the Contents API use GitHub's web-flow committer
133+
105134
## Why Not Just Use `tailor set-version`?
106135

107136
Some tools (like TYPO3's `tailor`) can set the version at publish time. However:

0 commit comments

Comments
 (0)