Skip to content
This repository was archived by the owner on Feb 27, 2025. It is now read-only.

Remove caps for mamba & conda-build#74

Merged
wolfv merged 5 commits intoconda-forge:mainfrom
rohan-shah-nearmap:main
Sep 6, 2023
Merged

Remove caps for mamba & conda-build#74
wolfv merged 5 commits intoconda-forge:mainfrom
rohan-shah-nearmap:main

Conversation

@rohan-shah-nearmap
Copy link
Copy Markdown
Contributor

@rohan-shah-nearmap rohan-shah-nearmap commented Jul 28, 2023

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

There is an issue in conda, only fixed in 23.7.0 which effectively prevents us from using recent package versions in our environments (earlier versions of conda have an incompatibility with recent versions of requests, see here). Unfortunately the current version of boa pins mamba <= 1.4.2, and then that version of mamba requires conda <= 23.4.

I can't really say that the current version of boa is compatible with updated mamba, but I have avoided the bug in 1.4.4. Hopefully someone else knows more.

Examples:

Cannot solve

FROM mambaorg/micromamba:jammy as build-stage

RUN micromamba create --dry-run --name boa --channel conda-forge \
    "python 3.10.*" \
    "boa >=0.15.1" \
    "conda >=23.7.1"

or

FROM mambaorg/micromamba:jammy as build-stage

RUN micromamba create --dry-run --name boa --channel conda-forge \
    "python 3.10.*" \
    "mamba 1.4.2" \
    "conda >=23.7.1"

But the following solves:

FROM mambaorg/micromamba:jammy as build-stage

RUN micromamba create --dry-run --name boa --channel conda-forge \
    "python 3.10.*" \
    "mamba 1.4.5" \
    "conda >=23.7.1"

@conda-forge-webservices
Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@rohan-shah-nearmap
Copy link
Copy Markdown
Contributor Author

@conda-forge-admin, please rerender

@rohan-shah-nearmap rohan-shah-nearmap marked this pull request as ready for review July 28, 2023 02:17
Comment thread recipe/meta.yaml Outdated
Co-authored-by: jaimergp <jaimergp@users.noreply.github.com>
@jaimergp
Copy link
Copy Markdown
Member

@jakirkham @h-vetinari - this would unblock conda-forge/miniforge#480 but it might also be broken. Would love to have some extra eyeballs here.

@h-vetinari
Copy link
Copy Markdown
Member

It's still capping conda-build, which will likely still cause other resolution oddities.

I don't know exactly what the problem was that led to the introduction of the cap(s), but it seemed it was something upstream (topological sort or so).

I did some digging in #75, but neither @wolfv nor @JohanMabille responded to my ping so far.

At this point, I'd be okay to just go for it and see what breaks. We already have breakage in some corners due to this version pile up anyway.

Comment thread recipe/meta.yaml Outdated
@@ -24,7 +24,7 @@ requirements:
run:
- python >=3.6
- conda-build >=3.24,<3.26
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
- conda-build >=3.24,<3.26
- conda-build >=3.24

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Why unpin conda-build? This change is one of the causes for mamba-org/boa#388.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Because that was a long-running effort to unblock many other things that required newer conda-build. The previous cap was there due to explicit incompatibilities, which were removed, hence the cap could be removed.

Now a new incompatibility got introduced with 3.28. It's a separate topic. The only take-away perhaps is to be more defensive on the pins here, and use <={last_working_conda_build}. In an ideal world that shouldn't be necessary (conda-build should deprecate behaviour changes, rather than just break things), but well...

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I see, thanks for clarifying.

Lately my practice has been to pin on major versions (i.e. conda-build >=3.24,<4) as those are likely to come with breaking changes. However, as we see in this case, there's still the possibility of breaking changes coming in minor version updates, which is unfortunate...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Not everyone does versioning according to the server spec...

Co-authored-by: h-vetinari <h.vetinari@gmx.com>
@h-vetinari h-vetinari changed the title Extend mamba pin Remove caps for mamba & conda-build Sep 5, 2023
@wolfv
Copy link
Copy Markdown
Member

wolfv commented Sep 6, 2023

I just tested and seems fine. I also made a PR to boa that fixes some deprecations: mamba-org/boa#367 Thanks everyone and sorry for being slow on this.

I think longer term that conda + conda-libmamba-solver + conda-build will be the better foundation for the "mambabuild" functionality :)

@wolfv wolfv merged commit deda12e into conda-forge:main Sep 6, 2023
@jaimergp
Copy link
Copy Markdown
Member

jaimergp commented Sep 8, 2023

Unfortunately we are hitting some rough edges when the new build is in use. See conda-forge/staged-recipes#23923.

We'll need to mark as broken.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants