zozo123 opened a new pull request, #74466: URL: https://github.com/apache/airflow/pull/74466
## Summary Source-only changes currently invalidate CI image dependency installation. Extract workspace `pyproject.toml` files and `uv.lock` into a separate build stage and preinstall locked third-party dependencies before copying the full checkout. The existing full source installation still installs workspace packages and retains its resolution and validation path. Split from #74173 at reviewer request so the Dockerfile optimization can be reviewed and reverted independently from the PR-only snapshot transport. Preinstallation uses the existing architecture-specific UV cache and is bypassed for upgrade builds. Installation failures now fail the build: a transient failure must not publish a successful partial dependency layer through the registry's `mode=max` cache. The Bash-semantics/string-splitting tests from the combined PR have been removed as requested. ## Evidence and remaining measurement The reviewer measured the combined revision's [CI build](https://github.com/apache/airflow/actions/runs/37236836509/job/111537879924): locked preinstallation took 28.7 seconds for 789 packages and the full source sync took 19.3 seconds for 141 workspace packages. These are measurements of the earlier revision, not a new benchmark of this branch. A source-only full Airflow build after `main` publishes this layer to the registry is still needed to measure actual reuse and net savings. This PR is a draft pending that validation and independent review; no guaranteed cache-hit rate or whole-workflow speedup is claimed. Validation: regular and manual Dockerfile static checks passed; the diff applies cleanly to current `main`. Full-image equivalence and cache performance are not yet verified on this split branch. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Codex (GPT-6) Generated-by: Codex (GPT-6), following the [Airflow guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions). -- 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]
