cloud-fan opened a new pull request, #53906: URL: https://github.com/apache/spark/pull/53906
### What changes were proposed in this pull request? This PR refactors the release Docker image build process to use a composable Dockerfile approach: 1. **`Dockerfile.base`**: A shared base image containing common tools (Ubuntu 22.04, R packages, Ruby/bundler, TeX, Node.js) 2. **`Dockerfile`**: Branch-specific image that extends the base with Java/Python versions and packages for this branch 3. **`do-release-docker.sh`**: Updated to build the base image first, then the branch-specific image ### Why are the changes needed? Currently, each branch maintains its own full Dockerfile which leads to: - Duplicated common configuration across branches - Difficulty keeping base tools (R packages, Ruby, etc.) in sync - Expired GPG keys or outdated base images affecting all branches With the composable approach: - Common tools are defined once in `Dockerfile.base` - Each branch only specifies its unique Java/Python requirements - Updates to base tools can be applied consistently ### Branch-specific versions (4.1) | Component | Version | |-----------|---------| | Java | 17 | | Python | 3.10 | | pandas | 2.3.3 | | grpcio | 1.76.0 | | protobuf | 6.33.0 | | Sphinx | 4.5.0 | | docutils | <0.18.0 | ### Does this PR introduce _any_ user-facing change? No. This only affects the release infrastructure. ### How was this patch tested? Docker image built and verified successfully on remote machine. ### Was this patch authored or co-authored using generative AI tooling? Yes -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
