Skip to content

bug: python.yml does not run when the root .cargo/config.toml changes #8906

Description

@LuciferYang

python.yml's pull_request paths: filter has Cargo.* and python/**, but no entry for the repository-root .cargo/config.toml. That file reaches the wheel builds, so a change to it can alter what the Python extension compiles with and trigger no Python job.

The reason it reaches them is that python/.cargo/config.toml duplicates rather than replaces the root file. Cargo merges configuration from the directory hierarchy, so a python-rooted build reads both, and any key the sibling does not set comes from the root. The x86 rustflags line is set in both, which is why this has not bitten yet, but the root file also carries [profile.release], release-with-debug and release-no-lto, none of which the sibling defines.

It went unnoticed on #8754 because that pull request changed both files together, so python/** matched and the Python jobs ran. A root-only edit would not.

Same class as #8867, which adds the two missing entries to rust.yml, but a different workflow, so it wants its own one-line change: add .cargo/config.toml to python.yml's filter.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ciCI / build workflowsbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions