Skip to content

Restore linux64 build parallelization#198

Merged
conda-forge-admin merged 8 commits into
conda-forge:mainfrom
conda-forge-admin:conda_forge_admin_197
May 30, 2026
Merged

Restore linux64 build parallelization#198
conda-forge-admin merged 8 commits into
conda-forge:mainfrom
conda-forge-admin:conda_forge_admin_197

Conversation

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-webservice.

I've started rerendering the recipe as instructed in #197.

If I find any needed changes to the recipe, I'll push them to this PR shortly. Thank you for waiting!

Here's a checklist to do before merging.

Fixes #197

@leofang

leofang commented May 30, 2026

Copy link
Copy Markdown
Member

@conda-forge-admin, please rerender

@conda-forge-admin

Copy link
Copy Markdown
Contributor Author

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.

@leofang leofang marked this pull request as draft May 30, 2026 01:33
…utput

The CFEP-25 noarch:python recipe references only ${{ python_min }}, so
rattler-build does not include `python` in that output's variant.
Combined with the non-noarch `cuda-bindings` output (which does use
`python`), conda-smithy's _collapse_subpackage_variants takes the
intersection of used loop vars across outputs, drops `python`, and
collapses all Python variants into a single .ci_support file per
platform — serializing what used to be 6 parallel CI jobs.

Adding `build.variant.use_keys: [python]` to the noarch output forces
`python` back into its variant, restoring the per-Python matrix. The
redundant identical noarch builds dedupe on upload via hash collision.

Mirrors the same pattern used in conda-forge/root-feedstock for its
noarch:generic root_cxx_standard output.
@leofang

leofang commented May 30, 2026

Copy link
Copy Markdown
Member

@conda-forge-admin, please rerender

@conda-forge-admin conda-forge-admin marked this pull request as ready for review May 30, 2026 02:07
@leofang

leofang commented May 30, 2026

Copy link
Copy Markdown
Member

@conda-forge-admin, please rerender

@conda-forge-admin

Copy link
Copy Markdown
Contributor Author

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

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

@leofang leofang marked this pull request as draft May 30, 2026 02:12
Brings in v13.3.1 (sha 5d21c94f...) and the cuda-core/cudla test
additions. Resolves recipe/recipe.yaml `context.number` by setting
it to 1 to capture this PR's build-graph changes on top of the
13.3.1 release.

Also folds in the noarch-dedupe wiring on the cuda-python output:

  * Adds explicit `build.string: py_min_${{ python_min }}_${{ number }}`
    so all variant.use_keys: [python] builds produce the same artifact
    filename and collide on upload (matches root-feedstock's pattern).

  * Loosens the noarch test from `python ${{ python_min }}.*` to
    `python >=${{ python_min }}` so the test environment can pick the
    variant's Python and resolve against the locally-built
    cuda-bindings ABI (matches v0 behaviour).
@conda-forge-admin

Copy link
Copy Markdown
Contributor Author

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.

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

For recipe/recipe.yaml:

  • ℹ️ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.

    • For the tests[].python.python_version or tests[].requirements.run section of cuda-python output, you should usually use the pin python_version: ${{ python_min }}.* or python ${{ python_min }}.* for the python_version or python entry.
  • If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

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

@leofang

leofang commented May 30, 2026

Copy link
Copy Markdown
Member

@conda-forge-admin, please rerender

@conda-forge-admin

Copy link
Copy Markdown
Contributor Author

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

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

@conda-forge-admin conda-forge-admin marked this pull request as ready for review May 30, 2026 02:37
@leofang leofang marked this pull request as draft May 30, 2026 02:37
@leofang leofang linked an issue May 30, 2026 that may be closed by this pull request
1 task
@leofang leofang changed the title MNT: rerender Restore linux64 build parallelization May 30, 2026
@leofang leofang marked this pull request as ready for review May 30, 2026 03:03
@leofang leofang added the automerge Merge the PR when CI passes label May 30, 2026
@conda-forge-admin conda-forge-admin merged commit 5c53a98 into conda-forge:main May 30, 2026
22 checks passed
@conda-forge-admin

Copy link
Copy Markdown
Contributor Author

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: passed
  • github-actions: passed
  • rerender called: passed

Thus the PR was passing and merged! Have a great day!

@acosmicflamingo

acosmicflamingo commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

It's so unfortunate that top-level requirements was what made the parallelization possible. Removing host: - python from the former meta.yaml gives us the exact behavior, so it's not like I can even upstream a fix in rattler-build side that adds missing functionality. It's just simply impossible to tell conda-build/rattler-build to simultaneously consider the python version as a variant, and also ignore it when generating the MD5 hash for the package name. I've tried everything under the sun but to no avail :( this solution will have to do for now...

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

Labels

automerge Merge the PR when CI passes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Linux runs take long to complete after rattler-build migration @conda-forge-admin, please rerender

3 participants