Skip to content
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

Keep the sdk version inline with the bridge #189

Merged
merged 1 commit into from
Oct 25, 2023

Conversation

iwahbe
Copy link
Member

@iwahbe iwahbe commented Oct 25, 2023

This removes the --kind=sdk option from the tool.

We already have functionality to bring the pkg+sdk version in all places up to what the bridge requires.

Fixes #184

This removes the `--kind=sdk` option from the tool.

We already have functionality to bring the pkg+sdk version in all places up to what the
bridge requires.

Fixes #184
@iwahbe iwahbe requested a review from t0yv0 October 25, 2023 01:07
@iwahbe iwahbe self-assigned this Oct 25, 2023
@t0yv0
Copy link
Member

t0yv0 commented Oct 25, 2023

I'm a little confused here as it removes the ability to update SDK completely. Is that too much? Does it update the SDK as part of the "bridge" or "all" update? perhaps just dropping that from "all" suffices to not run it until asked to?

@iwahbe
Copy link
Member Author

iwahbe commented Oct 25, 2023

I thought about dropping sdk from all, but leaving it as an explicit option. I couldn't think of a situation where we want to upgrade the SDK (which only goes to latest) to differ from the bridge version, or where we would recommend downstream users to do so.

It's not a safe upgrade, since sometimes pu/pkg makes breaking changes and the bridge needs to adjust. upgrade-provider --kind=sdk may fail, even when every party adheres to their contract. upgrade-provider --kind=bridge should not fail if every sub-system works as expected.

@t0yv0
Copy link
Member

t0yv0 commented Oct 25, 2023

Hm, that's reasonable but how about upgrading native providers that have no bridge? I guess we can deal with that when we need to. I was also thinking to consider to make it triple-certain, basically "ensure", the invariant that {pkg,sdk} dependency is strictly never ahead (or is equal) to the bridge's {pkg,sdk} dependency. But this automation can get in the way of mowing down custom go.mod setups.

@iwahbe
Copy link
Member Author

iwahbe commented Oct 25, 2023

Hm, that's reasonable but how about upgrading native providers that have no bridge? I guess we can deal with that when we need to.

This tool really doesn't work on native providers (calling make tfgen, etc). They don't have a standardized layout, so can't have a standardized upgrade process.

I was also thinking to consider to make it triple-certain, basically "ensure", the invariant that {pkg,sdk} dependency is strictly never ahead (or is equal) to the bridge's {pkg,sdk} dependency. But this automation can get in the way of mowing down custom go.mod setups.

I don't think that is necessary right now. If the only thing that upgrades pulumi/{pkg,sdk} is this tool, we should get the versions that we expect. If we find version mismatches, then we can re-asses on an explicit check.

@iwahbe iwahbe merged commit 6e648ab into main Oct 25, 2023
1 check passed
@iwahbe iwahbe deleted the iwahbe/184/keep-pkg-version-inline-with-bridge branch October 25, 2023 23:43
iwahbe added a commit that referenced this pull request Oct 30, 2023
This is a pure refractor for testability. There should be no user facing
changes.

This PR is stacked on top of
#189.
guineveresaenger added a commit that referenced this pull request Dec 7, 2023
In #189, we made SDK
upgrades depend on which pulumi version the bridge supports.
This PR cleans up the outdated help text.

Fixes #210.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Do not upgrade pulumi/pkg and pulumi/sdk ahead of the bridge
2 participants