Skip to content

Migrate to rattler-build with staged outputs ("Megabuild")#171

Draft
cbourjau wants to merge 52 commits into
conda-forge:mainfrom
cbourjau:rattler-build
Draft

Migrate to rattler-build with staged outputs ("Megabuild")#171
cbourjau wants to merge 52 commits into
conda-forge:mainfrom
cbourjau:rattler-build

Conversation

@cbourjau
Copy link
Copy Markdown
Contributor

@cbourjau cbourjau commented Mar 3, 2026

This PR migrates this feedstock to rattler-build. It takes advantage of rattler-build's newly stabilized cached output feature to reuse build artifacts for different Python versions. To make this work, we also have to patch CMakeCache.txt (same approach taken in the PyTorch feedstock).

Other notable changes:

  • nushell to DRY up Windows and Unix builds
  • osx_arm64 is built natively (much faster and tested)

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.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

conda-forge-admin commented Mar 3, 2026

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/meta.yaml, recipe/recipe.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ Found bld.bat in recipe directory, but this is a recipe v1 (rattler-build recipe). rattler-build uses build.bat instead of bld.bat for Windows builds. Consider renaming bld.bat to build.bat.

For recipe/recipe.yaml:

  • ℹ️ Found bld.bat in recipe directory, but this is a recipe v1 (rattler-build recipe). rattler-build uses build.bat instead of bld.bat for Windows builds. Consider renaming bld.bat to build.bat.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/22922418157. Examine the logs at this URL for more detail.

@cbourjau cbourjau changed the title Rattler build + dynamic linking of python bindings Migrate to rattler-build and enable "megabuild" by dynamically linking Python bindings Mar 6, 2026
@cbourjau cbourjau mentioned this pull request Mar 6, 2026
3 tasks
@cbourjau cbourjau force-pushed the rattler-build branch 3 times, most recently from 7065275 to e2a473a Compare March 10, 2026 08:21
@cbourjau
Copy link
Copy Markdown
Contributor Author

https://github.com/prefix-dev/rattler-build/releases/tag/v0.63.0 landed support for staging between steps.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

conda-forge-admin commented Apr 23, 2026

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

I wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found some lint.

Here's what I've got...

For recipe/recipe.yaml:

  • ❌ In conda-forge.yml: $.github_actions = {'self_hosted': True, 'timeout_minutes': 720, 'triggers': ['push', 'pull_request']}.

    {'self_hosted': True, 'timeout_minutes': 720, 'triggers': ['push', 'pull_request']} is not valid under any of the given schemas

    Schema
    {
      "anyOf": [
        {
          "$ref": "#/$defs/GithubActionsConfig"
        },
        {
          "type": "null"
        }
      ]
    }

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/25058584535. Examine the logs at this URL for more detail.

@cbourjau cbourjau changed the title Migrate to rattler-build and enable "megabuild" by dynamically linking Python bindings Migrate to rattler-build with staged outputs ("Megabuild") Apr 23, 2026
@cbourjau
Copy link
Copy Markdown
Contributor Author

Windows error may be a variant of this upstream issue: prefix-dev/rattler-build#2444

@conda-forge-admin
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/recipe.yaml) and found it was in an excellent condition.

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.

2 participants