Skip to content

Conversation

rickeylev
Copy link
Collaborator

The musl entry got lost as part of a refactoring. Add it back to the platforms
that generate freethreaded variants.

Fixes #3286

@rickeylev rickeylev requested a review from aignas as a code owner October 1, 2025 05:31
Copy link
Contributor

Summary of Changes

Hello @rickeylev, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a regression where the 'musl' platform was no longer correctly identified for generating freethreaded Python runtimes with specific optimization flags. By reintroducing the 'musl' entry, it restores proper build configurations for 'musl'-based Linux systems, ensuring compatibility and optimized performance.

Highlights

  • Musl Support Restoration: Reinstated the 'musl' platform entry in the freethreaded runtime generation logic, which was inadvertently removed during a previous refactoring.
  • PGO+LTO for Musl: Ensured that the 'x86_64-unknown-linux-musl' platform correctly receives 'pgo+lto' optimization flags for freethreaded variants.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request addresses an issue where the musl entry was missing for freethreaded runtimes. The change correctly adds x86_64-unknown-linux-musl to the platform dictionary. The placement of the new entry maintains the existing alphabetical order of the keys. The fix is straightforward and appears correct. I have no further suggestions.

@rickeylev rickeylev changed the title fix(toolchains): add musl list of freethreaded runtimes fix(toolchains): add musl list of freethreaded runtimes (workspace) Oct 1, 2025
@rickeylev
Copy link
Collaborator Author

While creating tests for this, I noticed some weird things with toolchain registration. I think there's a bug in the order that python_register_toolchains() registers things for workspace and in the toolchain constraints, the net effect being you can never match the musl or freethreaded toolchains (I think Yulia filed a bug for this, too).

I think this fix also only affects workspace -- bzlmod is using what's in MODULE.bazel, which I think is also omitting musl. I don't see a musl-freethreaded toolchain showing up there

@rickeylev
Copy link
Collaborator Author

Ahh, I think I see -- we don't have a musl-freethreaded build built into our versions.bzl file. There are such builds available. JAX must be patching versions.bzl and adding such an entry themselves (or equivalent).

Ugh, versions.bzl is such a mess.

@rickeylev rickeylev added this pull request to the merge queue Oct 1, 2025
Merged via the queue into bazel-contrib:main with commit f5ab3bc Oct 1, 2025
4 checks passed
@rickeylev rickeylev deleted the fix.missing.musl branch October 1, 2025 06:08
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.

No MUSL platform in the build dict inside get_release_info(..) function
2 participants