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

Mark vendoring jupyter_scheduler packages as broken #1406

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

zklaus
Copy link
Contributor

@zklaus zklaus commented Feb 26, 2025

Guidelines for marking packages as broken:

  • We prefer to patch the repo data (see here)
    instead of marking packages as broken. This alternative workflow makes environments more reproducible.
  • Packages with requirements/metadata that are too strict but otherwise work are
    not technically broken and should not be marked as such.
  • Packages with missing metadata can be marked as broken on a temporary basis
    but should be patched in the repo data and be marked unbroken later.
  • In some cases where the number of users of a package is small or it is used by
    the maintainers only, we can allow packages to be marked broken more liberally.
  • We (conda-forge/core) try to make a decision on these requests within 24 hours.

What will happen when a package is marked broken?

  • Our bots will add the broken label to the package. The main label will remain on the package and this is normal.
  • Our bots will rebuild our repodata patches to remove this package from the repodata.
  • In a few hours after the anaconda.org CDN picks up the new patches, you will no longer be able to install the package from the main channel.

Checklist:

  • I want to mark a package as broken (or not broken):
    • Added a description of the problem with the package in the PR description.
    • Pinged the team for the package for their input.

Description

Older builder of jupyter_scheduler vendor a significant number of other, popular packages such as SQLAlchemy and Pydantic, among others.
This happened by accident because the standard, grayskull-provided install script line made pip install dependencies, which slipped through quality control.

The feedstock side is discussed in conda-forge/jupyter_scheduler-feedstock#46, the recipe is fixed to prevent this happening again in the future (though the rebuilds of older versions are still outstanding.

Here, we need to mark the offending builds as broken, which this PR is for.

@conda-forge/jupyter_scheduler, please weigh in as you see fit.

@h-vetinari
Copy link
Member

though the rebuilds of older versions are still outstanding.

IMO the rebuilds (to whatever extent that is deemed necessary) should come before marking the existing packages as broken.

@zklaus
Copy link
Contributor Author

zklaus commented Feb 26, 2025

though the rebuilds of older versions are still outstanding.

IMO the rebuilds (to whatever extent that is deemed necessary) should come before marking the existing packages as broken.

Makes sense. Let's see what the team has to say. My gut feeling is that the three remaining versions is enough.

@dlqqq
Copy link
Member

dlqqq commented Feb 26, 2025

@zklaus Can you mark this PR as a draft until we reach a consensus in conda-forge/jupyter_scheduler-feedstock#46?

@zklaus zklaus marked this pull request as draft February 26, 2025 22:52
@andrii-i
Copy link

andrii-i commented Mar 12, 2025

Hi everone. As discussed here conda-forge/jupyter_scheduler-feedstock#46 (comment), I've rebuilt latest patch of each minor version >2, <2.8.0. Non-rebuilt 2.x versions < 2.8.0 and all 1.x versions can be marked as broken.

Versions I've rebuilt:

Versions OK to be marked as broken:

  • 2.7.0
  • 2.5.1
  • 2.5.0
  • All 1.x versions

Thank you for looking into this.

Copy link

@andrii-i andrii-i left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only mark following versions as broken:

  • 2.7.0
  • 2.5.1
  • 2.5.0
  • All 1.x versions

@zklaus
Copy link
Contributor Author

zklaus commented Mar 21, 2025

Cross posting from the jupyter_scheduler issue:

Thanks for taking care of this, @andrii-i. Much appreciated!

Before re-activating the admin request PR, I want to clarify one last thing with you.
We don't mark versions as broken, but rather builds.
By this I mean that also some builds from, e.g. 2.7.1 will be marked broken, i.e., taking an excerpt from the list of builds to be marked broken in the admin request PR:

- noarch/jupyter_scheduler-2.7.0-pyha770c72_0.conda
- noarch/jupyter_scheduler-2.7.1-pyha770c72_0.conda

We see both 2.7.0 and 2.7.1 show up, but only build number 0 (as you can see from the _0 just before the .conda extension.
For the 2.7.0 version, that means that no build will be available and hence the version effectively becomes unavailable. But for the 2.7.1 version, the build number 0 vanishes, but now your new build number 1 (noarch/jupyter_scheduler-2.7.1-pyhd8ed1ab_1.conda) is available and thus the version remains accessible.

This is all a long winded way of saying: If we proceed as planned, more things than you listed as "OK to be marked broken" will be marked broken, but I believe the intent of what you want to achieve is matched.

@zklaus zklaus requested a review from andrii-i March 21, 2025 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants