This is an automated email from the ASF dual-hosted git repository.
vatsrahul1001 pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-4-test by this push:
new 717ad184ed6 [v3-4-test] Fix flaky static checks crashing on ts-sdk
node_modules during editable build (#74117) (#74999)
717ad184ed6 is described below
commit 717ad184ed698918ac0eb3d1b8b266ea0987fb2b
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Sun Oct 18 18:03:50 2026 +0530
[v3-4-test] Fix flaky static checks crashing on ts-sdk node_modules during
editable build (#74117) (#74999)
The root apache-airflow package has no files of its own, but hatchling's
editable build still walks the entire checkout because .gitignore patterns
only filter files, not directory descent. That walk crosses
ts-sdk/node_modules
(tens of thousands of pnpm symlink directories) while the ts-sdk prek hooks
run
pnpm install in parallel, so any symlink swapped mid-walk raises
FileNotFoundError and fails hooks that uv sync the workspace, such as
lint-helm-chart.
Pruning .gitignore'd directories during the walk keeps hatchling out of
node_modules entirely; the produced editable wheel is unchanged.
(cherry picked from commit a23aa81c62e1eb5a52cdfa4b19ae5697d4f4ad6d)
Co-authored-by: Shahar Epstein <[email protected]>
---
pyproject.toml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/pyproject.toml b/pyproject.toml
index 9126c11af18..d4f7de80372 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -601,6 +601,13 @@ Mastodon = "https://fosstodon.org/@airflow"
Bluesky = "https://bsky.app/profile/apache-airflow.bsky.social"
YouTube = "https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/"
+[tool.hatch.build]
+# Prune .gitignore'd directories (node_modules, .venv, ...) during the file
walk instead of only
+# filtering their files: an editable build of this root package otherwise
descends into
+# ts-sdk/node_modules and crashes with FileNotFoundError when a concurrent
`pnpm install`
+# (ts-sdk prek hooks run alongside root ones) swaps the pnpm symlinks under it.
+skip-excluded-dirs = true
+
[tool.hatch.build.targets.sdist]
exclude = ["*"]