-
Notifications
You must be signed in to change notification settings - Fork 47
Add claude slash command for upstream to downstream sync #750
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?
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: hroyrh The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
.claude/commands/merge-upstream.md
Outdated
|
|
||
| # Merging upstream to downstream | ||
|
|
||
| This commands merges changes from upstream `metal3-io/ironic-image` |
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.
nit: command
.claude/commands/merge-upstream.md
Outdated
|
|
||
| ### 3. Handle Common Conflicts | ||
|
|
||
| **GitHub Workflows**: Downstream removes most of `.github/` directory files. |
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.
we do have .github downstream, we need to preserve what we have downstream
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.
yeah, that's why it's most not all the files are removed, and the command below will not return empty if it makes any changes to the downstream files. I'm trying to avoid instructions for individual files, and trying to follow a consistent pattern where possible.
.claude/commands/merge-upstream.md
Outdated
| - Verify with `git diff downstream/main -- .github/`, this must return empty | ||
| - If the above command result it not empty investigate or repeat above steps | ||
|
|
||
| **Hack tools**: We don't have these scripts in downstream normally: |
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 upstream only
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.
Right, I will be more explicit in instructions here.
| - `OCPBUGS-*:` - OpenShift bug fixes | ||
| - These must be preserved during the merge, unless replaced by an equivalent | ||
| upstream commit. | ||
|
|
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.
we should probably add that Dockerfile is upstream and Dockerfile.ocp is downstream and find a way to apply the changes downstream
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.
Hmm, I think Dockerfile, prepare-image.sh are candidates for bit for nuanced instructions. I've been trying different things with claude with some of these more complex scenarios, and it hasn't been very reliable on what it does. The more complex the instructions, the more it behaves unexpectedly. I will try to come up with more clear instructions.
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.
for now we can just say to remove the Dockerfile from upstream and leave Dockerfile.ocp for downstream
but it will be on us to compare the changes
.claude/commands/merge-upstream.md
Outdated
|
|
||
| ### 5. Handling other conflicts | ||
|
|
||
| **OKD packages list**: Always pick the upstream changes for the okd packages |
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.
there is no upstream OKD
I think we need to mention main-packages-list.txt and that we don't want to keep it downstream
same for ironic-packages-list
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.
hmm, I wonder why I saw conflicts in the okd file then ? Let me take another look.
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.
So, if a new package is added to the upstream list, we manually bring it in the downstream lists if applicable ?
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.
upstream we install all from source, downstream we have a mix between source and RPMs, so yes, unfortunately most changes are done manually downstream as we don't have a 1to1 correspondence
with s2i things are going to get better
da910c6 to
2727983
Compare
|
@hroyrh: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
No description provided.