Skip to content

Mirror prefix.dev channels to the old anaconda.org channels - #205

Draft
Tobias-Fischer wants to merge 1 commit into
mainfrom
mirror-prefix-to-anaconda
Draft

Tobias-Fischer wants to merge 1 commit into
mainfrom
mirror-prefix-to-anaconda

Conversation

@Tobias-Fischer

Copy link
Copy Markdown
Contributor

Prepares the mirror from the new prefix.dev channels back to the old anaconda.org channels, for users who still install from there, once the RoboStack distributions upload to prefix.dev (Tobias-Fischer/robostack-distros#54).

  • scripts/mirror-prefix-to-anaconda.py SOURCE DESTINATION [--dry-run]: every package of the prefix.dev channel that the anaconda.org channel doesn't have yet is downloaded, checked against the sha256 in the prefix.dev repodata and uploaded with anaconda upload (token from ANACONDA_API_TOKEN). A failed package doesn't stop the run, but makes it fail at the end.
  • .github/workflows/mirror-prefix-to-anaconda.yml:
    • humble → robostack-staging; copy-staging-packages.yml then copies on to robostack-humble as before.
    • jazzy → robostack-jazzy.
    • Channels that are empty on anaconda.org (rolling, lyrical) are not mirrored.

The workflow is dispatch-only, with a dry run by default. Today prefix.dev's robostack-staging, robostack-humble and robostack-jazzy are mirrors of anaconda.org, and mirroring them back would re-upload packages removed there (the dry run finds 6 such jazzy packages). Before scheduling it:

  • Set up the distributions' own prefix.dev channels and adjust the source channel names in the workflow.
  • Add the secrets ROBOSTACK_STAGING_ANACONDA_API_TOKEN and ROBOSTACK_JAZZY_ANACONDA_API_TOKEN.
  • Add a schedule.

Tested with unit tests (pixi run test) and dry runs against the live channels; nothing has been uploaded.

🤖 Generated with Claude Code

scripts/mirror-prefix-to-anaconda.py uploads every package of a prefix.dev channel
that the anaconda.org channel doesn't have yet (download, sha256 check against the
prefix.dev repodata, anaconda upload). The workflow mirrors humble to
robostack-staging and jazzy to robostack-jazzy; it is dispatch-only until the
distributions' own prefix.dev channels exist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant