Context
Docker OpenStack repositories use patches in patches/ to modify upstream code. The commit being checked out can be found in .github/workflows/build.yml. Patches may fail to apply because:
- •Patch merged upstream - delete the patch
- •Upstream breaking change - update the patch to apply cleanly
Workflow
Use gh CLI for all GitHub operations.
- •
gh pr checkoutthe PR - •
gh run viewto find which patch failed - •Determine if patch is merged upstream or needs updating:
- •Do not assume a patch is merged upstream - verify by checking the upstream code
- •Confirm the upstream changes match the intent and content of the old patch
- •Apply the fix:
- •Merged upstream: delete the patch
- •Needs updating: create new patch preserving original intent
- •Use
git:commit-messageskill to generate commit message, commit, andgit push - •
gh run watchuntil build passes (repeat if needed) - •
gh pr mergeonce the build passes