shahar1 opened a new pull request, #74117:
URL: https://github.com/apache/airflow/pull/74117

   The `Static checks` CI job fails intermittently with `lint-helm-chart` (and 
any other hook that runs `uv sync` on the workspace) when the editable build of 
the root `apache-airflow` package crashes:
   
   ```
   FileNotFoundError: [Errno 2] No such file or directory:
   
'.../ts-sdk/node_modules/.pnpm/@[email protected]_.../node_modules/magic-string/dist'
   ```
   
   Example: 
https://github.com/apache/airflow/actions/runs/37035333228/job/110938519394 (PR 
#74098, which only touches `dev/breeze`).
   
   Root cause: the root package has no files, but hatchling's editable build 
still walks the whole checkout. `.gitignore` patterns only filter *files* 
unless `skip-excluded-dirs` is set, so the walk descends into 
`ts-sdk/node_modules` (64,789 directories on a local checkout). The ts-sdk prek 
workspace runs `pnpm install` in parallel with the root hooks, and a pnpm 
symlink swapped between `scandir` and `os.stat` raises inside hatchling's 
`safe_walk`.
   
   Setting `skip-excluded-dirs = true` in `[tool.hatch.build]` makes hatchling 
prune `.gitignore`'d directories during the walk.
   
   Verified locally with hatchling 1.32.4:
   - directories walked by `build_editable`: 100,330 before, 1 after
   - the produced editable wheel `RECORD` is byte-for-byte identical before and 
after
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Fable 5.1)
   
   Generated-by: Claude Code (Fable 5.1) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to