Skip to content

SRE-3874 ci: optimized docker images size#18606

Open
grom72 wants to merge 2 commits into
masterfrom
grom72/sre3874-docker-images-optimization
Open

SRE-3874 ci: optimized docker images size#18606
grom72 wants to merge 2 commits into
masterfrom
grom72/sre3874-docker-images-optimization

Conversation

@grom72

@grom72 grom72 commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Reduce CI Docker image footprint with new minimal build-ci stage and make image build process faster.

Summary
This PR introduces a new minimal Docker image variant for CI, called build-ci, to reduce image size, startup cost, and infrastructure pressure across Jenkins and GitHub Actions.

Key outcomes

Adds a minimal build-ci image profile optimized for CI compilation and packaging workflows.
Keeps full image flow available for broader/local build use cases.
Reduces build-ci image footprint from about 8 GiB to about 2 GiB.
Improves Docker image setup time by reducing package/install scope in CI paths.
Lowers memory/storage consumption in Jenkins pipelines.
Reduces cache and runner resource pressure in GitHub Actions workflows.

Why this matters

CI runners spend less time pulling/building heavy images.
More jobs can run reliably within existing storage/memory budgets.
Pipeline behavior becomes more predictable by separating CI-minimal and full-build concerns.
RPM build flow is easier to run and reproduce locally and in automation.

Scope of changes

Docker stage restructuring to support dedicated build-ci, build-local and full paths.
Workflow updates to explicitly target lighter Docker stages where appropriate.
Package installation split to keep optional/heavier dependencies out of build-ci.
Harmonization of Docker EL9 and Leap15 files.

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

Comment thread utils/docker/Dockerfile.el.9 Fixed
Comment thread utils/docker/Dockerfile.el.9 Fixed
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Errors are Unable to load ticket data
https://daosio.atlassian.net/browse/SRE-3874

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Test RPMs on EL 9.6 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18606/1/display/redirect

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Test RPMs on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18606/1/display/redirect

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Test RPMs on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18606/2/display/redirect

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Test RPMs on EL 9.6 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18606/2/display/redirect

@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch from ce52b18 to 9a9d75a Compare July 3, 2026 12:56
Comment thread utils/docker/Dockerfile.el.9 Fixed
Comment thread utils/docker/Dockerfile.el.9 Fixed
Comment thread utils/docker/Dockerfile.el.9 Fixed
@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch from 9a9d75a to 61565fe Compare July 3, 2026 12:57
Comment thread utils/docker/Dockerfile.el.9 Fixed
Comment thread utils/docker/Dockerfile.el.9 Fixed
@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch from 9d0a5e6 to 9fe742b Compare July 3, 2026 13:28
@daosbuild3

Copy link
Copy Markdown
Collaborator

Comment thread utils/docker/Dockerfile.el.9 Fixed
Comment thread utils/docker/Dockerfile.el.8 Dismissed
Comment thread utils/docker/Dockerfile.leap.15 Fixed
@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch from eed625a to 42fe91f Compare July 6, 2026 07:46
Comment thread utils/docker/Dockerfile.ubuntu Dismissed
@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch from 7ec95b9 to ecc5247 Compare July 6, 2026 12:52
@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium Verbs Provider MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18606/18/execution/node/1640/log

@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch from e8a482b to 266c2df Compare July 7, 2026 16:01
Comment thread utils/docker/Dockerfile.leap.15 Dismissed
Comment thread utils/docker/Dockerfile.leap.15 Fixed
Comment thread utils/docker/Dockerfile.leap.15 Fixed
@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch 3 times, most recently from d610cd4 to a02519e Compare July 7, 2026 20:47
@daosbuild3

Copy link
Copy Markdown
Collaborator

@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch 3 times, most recently from 0b81505 to db8e57f Compare July 10, 2026 10:27
Comment thread utils/docker/Dockerfile.el.9 Dismissed
Comment thread utils/docker/Dockerfile.el.9 Dismissed
Comment thread utils/docker/Dockerfile.el.9 Dismissed
Comment thread utils/docker/Dockerfile.leap.15 Dismissed
Comment thread utils/docker/Dockerfile.leap.15 Dismissed
grom72 added 2 commits July 10, 2026 12:35
Reduce CI Docker image footprint with new minimal build-ci stage
and make image build process faster.

Summary
This PR introduces a new minimal Docker image variant for CI,
called build-ci, to reduce image size, startup cost, and infrastructure
pressure across Jenkins and GitHub Actions.

Key outcomes

Adds a minimal build-ci image profile optimized for CI compilation and packaging workflows.
Keeps full image flow available for broader/local build use cases.
Reduces build-ci image footprint from about 12 GiB to about 2 GiB.
Improves Docker image setup time by reducing package/install scope in CI paths.
Lowers memory/storage consumption in Jenkins pipelines.
Reduces cache and runner resource pressure in GitHub Actions workflows.
Adds a new helper script to simplify and standardize DAOS RPM build execution in Docker.

Why this matters

CI runners spend less time pulling/building heavy images.
More jobs can run reliably within existing storage/memory budgets.
Pipeline behavior becomes more predictable by separating CI-minimal and full-build concerns.
RPM build flow is easier to run and reproduce locally and in automation.

Scope of changes

Docker stage restructuring to support dedicated build-ci and build-local/full paths.
Workflow updates to explicitly target lighter Docker stages where appropriate.
Package installation split to keep optional/heavier dependencies out of build-ci.
New Docker-driven RPM build helper script for repeatable artifact generation.

Signed-off-by: Tomasz Gromadzki <tomasz.gromadzki@hpe.com>
Signed-off-by: Tomasz Gromadzki <tomasz.gromadzki@hpe.com>

Cancel-prev-build: false
Skip-func-hw-test: true
@grom72 grom72 force-pushed the grom72/sre3874-docker-images-optimization branch from db8e57f to 85c060b Compare July 10, 2026 10:47
@grom72 grom72 marked this pull request as ready for review July 10, 2026 12:22
@grom72 grom72 requested review from a team as code owners July 10, 2026 12:22

@JohnMalmberg JohnMalmberg left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants