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

High-level todo list #66

Open
10 of 13 tasks
Tobias-Fischer opened this issue Dec 26, 2024 · 12 comments
Open
10 of 13 tasks

High-level todo list #66

Tobias-Fischer opened this issue Dec 26, 2024 · 12 comments

Comments

@Tobias-Fischer
Copy link
Contributor

Tobias-Fischer commented Dec 26, 2024

Hey @traversaro - thanks for all your work on RoboStack recently! Should we discuss what the remaining things are that need maintenance? As you can tell, I've got some "spare" time during the holidays.

Some remaining issues:

I probably missed quite a few - feel free to add @oursland @traversaro @wolfv @huweiATgithub

@traversaro
Copy link
Member

Thanks for opening this! I am currently far from the laptop, but I have some win-64 related changes for ros-humble.

@Tobias-Fischer
Copy link
Contributor Author

What do you think about adding run_exports to all packages with a tight pin (seeing we’ll have version information), and get rid off most run dependencies (except for Python and numpy)?

@traversaro
Copy link
Member

What do you think about adding run_exports to all packages with a tight pin (seeing we’ll have version information), and get rid off most run dependencies (except for Python and numpy)?

I think it make sense, this would permit to stop adding depend dependencies as run dependencies automatically, but I think we should still add exec_depend dependencies as run dependencies.

@traversaro
Copy link
Member

We also need to update docs to point users interested in jazzy to use robostack-jazzy instead of robostack-staging. fyi @xela-95

@Tobias-Fischer
Copy link
Contributor Author

We also need to update docs to point users interested in jazzy to use robostack-jazzy instead of robostack-staging. fyi @xela-95

Done in d3b9da8

@traversaro
Copy link
Member

We also need to update docs to point users interested in jazzy to use robostack-jazzy instead of robostack-staging. fyi @xela-95

Done in d3b9da8

Small fix in 8ad52f0 .

@Tobias-Fischer
Copy link
Contributor Author

@wolfv - do you see any advantage in uploading to a prefix.dev repo instead of anaconda.org? If so, could you please open a sample PR that does that in one of the repositories?

@traversaro
Copy link
Member

@wolfv - do you see any advantage in uploading to a prefix.dev repo instead of anaconda.org? If so, could you please open a sample PR that does that in one of the repositories?

Personally I would really prefer to continue (at least in tandem) to upload also to anaconda.org. The reason is that conda create -n conda-forge -n robostack-jazzy is much easier to remember and type rather then conda create -n conda-forge -n https://repo.prefix.dev/robostack-jazzy. At the moment the robostack, robostack-staging and robostack-humble channels are automatically mirrored over to prefix.dev, perhaps we should ask prefix to also mirror robostack-jazzy ?

@traversaro
Copy link
Member

If so, could you please open a sample PR that does that in one of the repositories?

FYI in the robotology channel we upload to both prefix.dev and anaconda.org, and this is the code snippet we use: https://github.com/robotology/robotology-superbuild/blob/6f38a8c262d332cf3e9844cf6455729f16add446/.github/workflows/generate-conda-packages.yaml#L234-L241 .

@traversaro
Copy link
Member

use conda-forge pinnings:
prefix-dev/rattler-build#1285 (@wolfv)

The support for using directly the conda-forge-pinning file was fixed in rattler-build in prefix-dev/rattler-build#1334 ( thanks @wolfv !). However, at this point I would add the full file from conda-forge-pinning in the next rebuild, as I am afraid of pinning some package current in migration to an older version w.r.t. to the version used to build the rest of the packages.

consider uploading to prefix.dev repo and change READMEs to reflect the new installation source

I think that specifying the channels with urls instead of simple names complexify a bit the installation process, so I would wait to see if conda/ceps#91 progress before switching to only use prefix.dev to host packages.

@baszalmstra
Copy link

do you see any advantage in uploading to a prefix.dev repo instead of anaconda.org? If so, could you please open a sample PR that does that in one of the repositories?

I just stumbled upon this issue. There are a few advantages of uploading to prefix.dev: every channel on prefix.dev is served through a CDN, the CDN sync is only a couple of seconds, and you can upload packages without an API key through trusted publishing. All channels on prefix.dev can also serve repodata as "sharded repodata", which is significantly faster than the alternative. This mostly applies to large channels but I think robostack falls under that category. At the moment, though, pixi is the only client that supports this, but given that the conda community has accepted it, I assume this will roll out to other clients over time as well.

We are also still adding features to https://prefix.dev. Especially upcoming features in the area of supply chain security might be of interest to you.

Most of these features are also available when we just mirror the channels (we are also mirroring robostack-jazzy these days), but with supply chain security features we probably won't have them when mirroring. Regardless, and heavily biased, I think it would make sense to advertise the option for people to use the prefix channels, especially if they also use pixi!

Btw, you don't need to repo subdomain. You can just use https://prefix.dev/robostack-jazzy.

@traversaro
Copy link
Member

Most of these features are also available when we just mirror the channels (we are also mirroring robostack-jazzy these days), but with supply chain security features we probably won't have them when mirroring.

In that case could it make sense to dual update to anaconda.org and prefix.dev, instead of relying on prefix.dev mirroring? I would not be enthusiastic of just uploading to prefix.dev as we would lose the really convenient feature of being able to do conda create -n env -c conda-forge -c robostack-jazzy ros-jazzy-desktop instead of relying on the less user friendly full URL. This may also be fixed by conda/ceps#91 but I do not know when (or if) that proposal may be implemented.

Regardless, and heavily biased, I think it would make sense to advertise the option for people to use the prefix channels, especially if they also use pixi!

Sure, see also #67 that is kind of related. I do not know how to write "PRs are welcome" without the risk of sounding a bit passive aggressive, but I think any PR directed on updating the docs to show also how to use pixi with robostack (even by cross linking pixi docs) is welcome. Personally as I work with a lot of people that still use and are familiar with conda/mamba instead of pixi, I would strongly prefer to also keep the documentation on how to use conda instead of replacing it altogether with the pixi one. I think that the division between "Project-based workflows" and "Environment-based workflows" in scipy docs is a good example: https://scipy.org/install/ .

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

No branches or pull requests

3 participants