potiuk opened a new pull request, #76644: URL: https://github.com/apache/airflow/pull/76644
Since #65408 the PROD `Dockerfile` copies `scripts/docker/keys/` from the build context, so building it outside an Airflow checkout fails with `"/scripts/docker/keys": not found`. The docs say the Dockerfile can be saved in any directory and used without other files. A `git archive` of the 3.4.0 tag also has no `scripts/` (it is `export-ignore`d), so the source release should fail the same way. This affects 3.3.0 and later. The keys are now inlined with the scripts. They stay byte-identical, so the marker `install_os_dependencies.sh` computes does not change. `Dockerfile.ci` always builds from a checkout, so it keeps copying them from the context. The example build scripts that would catch this are skipped on CI, so two fast tests now check that the Dockerfile copies nothing from the context by default and that every key is inlined verbatim. Tested: the 3.4.0 Dockerfile alone in an empty directory fails as above, and this branch's Dockerfile built successfully there with `AIRFLOW_VERSION=3.4.0`. `dev/breeze/tests/test_os_deps_images.py` passes, and the two new tests fail on the old Dockerfile. hadolint needs Docker and did not run locally. `breeze verify` was not run. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Opus 5 Generated-by: Claude Opus 5 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]
