Skip to content

Commit 385377d

Browse files
zackeesclaude
andauthored
ci(lint-subprocess): use --no-project so uv run skips fbuild install (#451)
The `Lint subprocess spawns` workflow runs only a stdlib-only Python linter, but `uv run python ...` was triggering an editable install of `fbuild`. The build backend requires a globally-installed `soldr` and the workflow doesn't install one, so every PR's CI failed with: ERROR: `soldr` is required to build fbuild from source. `--no-project` tells uv to skip the project sync. The script (`ci/find_direct_subprocess.py`) carries a PEP 723 header declaring only `requires-python = ">=3.10"` and no third-party deps, so no env prep is needed. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 67ce360 commit 385377d

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

.github/workflows/lint-subprocess.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,14 @@ jobs:
2424
steps:
2525
- uses: actions/checkout@v6
2626
- uses: astral-sh/setup-uv@v3
27+
# `--no-project` is load-bearing: without it, `uv run` triggers an
28+
# editable install of the `fbuild` package, whose build backend
29+
# requires a globally-installed `soldr` (see `setup.py` /
30+
# `build_backend.py`). This workflow does not install soldr — it
31+
# is a stdlib-only Python lint, not a Rust build — so the install
32+
# fails with `ERROR: 'soldr' is required to build fbuild from
33+
# source`. The script itself carries a PEP 723 header declaring
34+
# only `requires-python = ">=3.10"` and no third-party deps, so
35+
# skipping project sync is safe.
2736
- name: Check no unannotated direct Command::new spawns
28-
run: uv run python ci/find_direct_subprocess.py --fail
37+
run: uv run --no-project python ci/find_direct_subprocess.py --fail

0 commit comments

Comments
 (0)