Add per-distro Dockerfiles for ci-containers job#738
Conversation
Expand CI container testing from 2 images (Amazon Linux 2023, Rocky 10) to all 7 supported distros (Ubuntu 22.04/24.04, Debian 12/13, Rocky 9/10, Amazon Linux 2023), matching the 3.7 branch coverage. Each distro gets its own Dockerfile under docker/ and the ci-containers job now builds and runs them via docker build/run instead of using the container: directive. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR expands CI container testing from 2 distributions to all 7 supported Linux distributions by introducing per-distro Dockerfiles and refactoring the CI workflow to use explicit Docker build/run commands instead of GitHub Actions' container directive.
Changes:
- Added Dockerfiles for Ubuntu 22.04, Ubuntu 24.04, Debian 12, Debian 13, Rocky 9, Rocky 10, and Amazon Linux 2023
- Refactored
.github/workflows/ci.ymlto build Docker images explicitly and run tests inside containers - Replaced inline dependency installation logic with pre-built Docker images
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| docker/ubuntu24.04/Dockerfile | Ubuntu 24.04 container with Ice development dependencies |
| docker/ubuntu22.04/Dockerfile | Ubuntu 22.04 container with Ice development dependencies |
| docker/rocky9/Dockerfile | Rocky Linux 9 container with Ice development dependencies |
| docker/rocky10/Dockerfile | Rocky Linux 10 container with Ice development dependencies |
| docker/debian13/Dockerfile | Debian 13 (Trixie) container with Ice development dependencies |
| docker/debian12/Dockerfile | Debian 12 (Bookworm) container with Ice development dependencies |
| docker/amzn2023/Dockerfile | Amazon Linux 2023 container with Ice development dependencies |
| .github/workflows/ci.yml | Refactored CI job to use Docker build/run instead of container directive |
Ubuntu 22.04 is not a supported distro for Ice 3.8.
|
Windows failure is unrelated to this PR, see zeroc-ice/ice#5158 |
There was a problem hiding this comment.
This location doesn't seem like a great spot/directory name to me for the these C++ nightly docker files.
There was a problem hiding this comment.
maybe .github/workflows/docker or do you have other suggestions? Note that is what we used for 3.7 too.
There was a problem hiding this comment.
Sounds good, I will move them.
Summary
docker/, matching the 3.7 branch structureci-containersjob fromcontainer:directive todocker build+docker runapproachTest plan
🤖 Generated with Claude Code