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]

Reply via email to