Open AaronFriel opened 1 year ago
@iwahbe do you believe this should be automated?
This worked because of the coherent rebase, not because of 3 way merge. We actually apply patches with way merge as is:
If make upstream.rebase
is a more tolerant upgrade path, then I believe that we should prefer it.
In theory, we could run make upstream
and when that fails do the rebase path, but I think that is unnecessary complexity. Let's just do FROM= TO= make upstream.rebase; make upstream.finalize; git add patches
. If the rebase fails, it will exit with a non-zero code and will stop upgrade-provider
, allowing the user to complete the rebase manually.
The cost is increased churn in the patch SHAs, but I don't think we care that much.
When running
upgrade-provider --kind=provider
on Pulumi GCP, we encounter this failure:Logs:
If instead of running that sequence of steps (from
git submodule update
tomake upstream
) included in the logs, run this sequence:It looks like I end up on a happy path - the patches are rebased using three-way merge.
Open questions: