-
Notifications
You must be signed in to change notification settings - Fork 14
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
API types for caches, exports, and platforms #993
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Does the PR have any schema changes?Does the PR have any schema changes?Looking good! No breaking changes found. New resources:
Maintainer note: consult the runbook for dealing with any breaking changes. |
This was referenced Feb 13, 2024
Closed
Closed
Closed
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
blampe
force-pushed
the
multi-platform-cache
branch
from
February 13, 2024 23:48
e777254
to
6c70bf9
Compare
blampe
force-pushed
the
api-types
branch
2 times, most recently
from
February 14, 2024 00:31
80364f9
to
5853093
Compare
blampe
force-pushed
the
multi-platform-cache
branch
from
February 15, 2024 19:16
6c70bf9
to
993f4f2
Compare
blampe
force-pushed
the
api-types
branch
2 times, most recently
from
February 15, 2024 19:17
9fb7475
to
b55c21c
Compare
Closed
blampe
force-pushed
the
multi-platform-cache
branch
from
February 15, 2024 19:29
993f4f2
to
65c365b
Compare
blampe
force-pushed
the
multi-platform-cache
branch
from
February 15, 2024 22:06
65c365b
to
7e84223
Compare
blampe
force-pushed
the
api-types
branch
2 times, most recently
from
February 16, 2024 20:12
839817c
to
dff1663
Compare
blampe
force-pushed
the
api-types
branch
4 times, most recently
from
February 17, 2024 05:41
d8a6b69
to
9cb13ff
Compare
blampe
force-pushed
the
multi-platform-cache
branch
from
February 29, 2024 19:29
7e84223
to
a3aebfb
Compare
blampe
force-pushed
the
multi-platform-cache
branch
from
March 5, 2024 20:54
a3aebfb
to
faee9fa
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a large change but it's mostly boilerplate for stronger typing around
Docker's stringy-typed CLI parameters, plus logic to convert our types into the
CSV format Docker expects.
For background, Docker accepts types like this:
We were accepting the same style of strings, but this is awkward to work with
once things become moderately complex. To remedy this, we add typing around
platforms
,exports
,cacheTo
andcacheFrom
:platforms
: There are only a few dozen supported OS/Arch combinations, sothis becomes an enum.
cacheTo
/cacheFrom
/exports
: These become union-ish types (I don't thinkgo-provider allows us to create
OneOf
types). We preserve a "raw" option ifthe user would prefer to use Docker-style strings.
I'm bundling all of these together because the type signature changes will
require me to manually clean up state files in order to upgrade folks on the
alpha (refs. pulumi/pulumi-go-provider#193). Please
tell me if you have API feedback because this will be difficult to change!
If we're happy with the direction, I'll probably cut a beta from this branch.
Other API tweaks while I was in here:
Tags are now only required if pushing to a registry, to match Docker.
Multiple exports are no longer allowed to match pre-v25 Docker. After
Upgrade to docker v25 #958 we should be able to
remove this restriction.
Expose the build target parameter in the SDK.
Fixes #970