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

make multi-arch opt-in #123

Open
turadg opened this issue Mar 8, 2024 · 5 comments
Open

make multi-arch opt-in #123

turadg opened this issue Mar 8, 2024 · 5 comments
Assignees
Labels
devex good first issue Good for newcomers

Comments

@turadg
Copy link
Member

turadg commented Mar 8, 2024

Problem to be solved

The default build steps don't work locally.

When adding multiarch building, we adopted Depot remote builder. Because not everyone would be familiar with or have the tool installed, I made it not required. Instead it gives an error message about learning to use Depot:

❯ yarn build

ERROR: docker exporter does not currently support exporting manifest lists

Multiple platforms are configured but Docker does not support multiplatform in one builder.
Until https://github.com/docker/roadmap/issues/371, attempting it will error as above.

Instead use a builder that supports multiplatform such as depot.dev.

But if someone wants to make a single arch build, that's a lot of extra effort.

Design

Make single platform the default and make multiarch opt-in. Make CI opt in.

@anilhelvaci
Copy link
Contributor

What's the current situation in this? Any progress? How are we expected to build locally? cc @turadg @toliaqat

@turadg
Copy link
Member Author

turadg commented May 16, 2024

This hasn't been worked on so the current situation is as described.

So far nobody outside Agoric OpCo has needed to build a3p images. What's your need? That could lead to getting this prioritized.

@anilhelvaci
Copy link
Contributor

This hasn't been worked on so the current situation is as described.

Thanks for the clarification.

What's your need? That could lead to getting this prioritized.

We wanted to know our proposal will work with other proposals and we will not break CI when we make our PR. Looking into the cli.ts and docker-bake.hcl again, I believe yarn test might suffice for this.

@turadg
Copy link
Member Author

turadg commented May 17, 2024

Righto. If you omit platforms from your proposal's package.json it won't try to to multi-arch.

export type AgoricSyntheticChainConfig = {
/**
* The agoric-3-proposals tag to build the agoric synthetic chain from.
* If `null`, the chain is built from an ag0 genesis.
* Defaults to `latest`, which containing all passed proposals
*/
fromTag: string | null;
platforms?: Platform[];
};

@anilhelvaci
Copy link
Contributor

Thanks! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devex good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants