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

Switch to uv? #246

Open
gforcada opened this issue Feb 10, 2025 · 4 comments
Open

Switch to uv? #246

gforcada opened this issue Feb 10, 2025 · 4 comments

Comments

@gforcada
Copy link
Member

It has been on the headlines for quite a while, a fast(er) replacement for pip, but not only that.

Should we switch to it on our GHA? 🤔

I made a test PR on plone.batching: plone/plone.batching#83

The changes are mostly to be done here in plone.meta and roll them over to the distributions.

one caveat though: as soon as we change the workflows in this repo, i.e .github/workflows/XXX.yml all repositories that depend on them will (probably 🤔 ) break, so it might be a good idea to first move all repositories to point to a stable version, and then merge this, so we can freely break stuff without breaking repositories 😅

My idea:

  • make a 1.0 release of plone.meta
  • update all distributions with:
jobs:
  qa:
    uses: plone/meta/.github/workflows/[email protected]
  test:
    uses: plone/meta/.github/workflows/[email protected]
  coverage:
    uses: plone/meta/.github/workflows/[email protected]
  dependencies:
    uses: plone/meta/.github/workflows/[email protected]
  release_ready:
    uses: plone/meta/.github/workflows/[email protected]
  circular:
    uses: plone/meta/.github/workflows/[email protected]
  • we can then start making breaking changes in plone.meta 🎉

@davisagli @mauritsvanrees does it sound sane? 🤔

@davisagli
Copy link
Member

@gforcada I was thinking about this too. It's easy enough for us to update Plone packages, but there are also collective packages which started using plone/meta (https://github.com/search?q=org%3Acollective+plone%2Fmeta%2F.github&type=code) and I'm worried we won't find everything that needs to be updated to use a specific workflow version. Probably there are private packages too.

Ideas:

  1. Set the main branch in stone (pretend it's a tag) and create a new 2.x branch, and make it the default. Then we can add a version to the workflow in the future but we don't have to update existing places it is used.
  2. Release 1.0.0, then update the workflows on main to give a hard error with clear instructions on how to update it to use the tag.

@gforcada
Copy link
Member Author

@davisagli thanks for the input! We already have a previous attempt at the shared-workflows folder 😅

Maybe indeed, letting main set in stone and use branches for each new major change is a better idea, so we don't exactly pin all packages to a certain version e.g 1.5.4, but with a 2.x branch we can keep updating the workflows and fine tune them while giving certain stability 👍🏾

@jensens
Copy link
Member

jensens commented Feb 11, 2025

+1 for uv and +1 for a 2.0 then

@mauritsvanrees
Copy link
Member

Sounds good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: in progress
Development

No branches or pull requests

4 participants