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

CEP: run_exports in sharded repodata #108

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

baszalmstra
Copy link
Contributor

We propose the store run_exports in sharded repodata shards.

Given that a lot of technical limitations have been mitigated with sharded repodata we propose to also store run_exports in the shards. This allows build tools to acquire run export information more easily and faster.

📝 Rendered

The sharded repodata served by https://prefix.dev already implements this behavior. Rattler-build can also use the run_exports directly from repodata which speeds up resolution during setup as no extra steps are required to determine the run_exports.

@baszalmstra
Copy link
Contributor Author

I also opened a thread on zulip to discuss this proposal in more detail: https://conda.zulipchat.com/#narrow/channel/457607-general/topic/CEP.3A.20run_exports.20in.20sharded.20repodata if anyone is interested. 😄

@baszalmstra
Copy link
Contributor Author

baszalmstra commented Jan 16, 2025

Related to #87 and #88

@jakirkham
Copy link
Member

Thanks Bas! 🙏

Would this allow us to repodata patch run_exports too? 😉

@baszalmstra
Copy link
Contributor Author

Would this allow us to repodata patch run_exports too?

Yes! the last paragraph in the CEP is about that.

@beckermr
Copy link

We probably need to specify something about tools that don't use the repodata shards should deal with run export patches. Otherwise, we might have different tools seeing different run exports for a patched package.

@baszalmstra
Copy link
Contributor Author

We probably need to specify something about tools that don't use the repodata shards should deal with run export patches. Otherwise, we might have different tools seeing different run exports for a patched package.

Thats a good point, do you have something in mind?

@beckermr
Copy link

Not right now. For channels with a separate run exports JSON blob, that blob can be patched. Channels without this extra file, there is no real way to do this except to have the user download the patches and apply them on the fly. :/

@baszalmstra
Copy link
Contributor Author

I added some extra text to the CEP to explain how run export patches should be handled. Does that make things clearer @beckermr ?

@beckermr
Copy link

beckermr commented Feb 6, 2025

I am still confused. The new text covers patching run exports for non-shareded repodata. For sharded repodata, are the run export patches pulled from "run_exports_patch_instructions.json" as well?

cep-0016-2.md Show resolved Hide resolved
Co-authored-by: Matthew R. Becker <[email protected]>
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.

3 participants