Skip to content

SRE-3874 ci: optimized docker images size (#18606)#18708

Merged
phender merged 1 commit into
release/2.8from
grom72/sre3874-docker-images-optimization-2.8
Jul 24, 2026
Merged

SRE-3874 ci: optimized docker images size (#18606)#18708
phender merged 1 commit into
release/2.8from
grom72/sre3874-docker-images-optimization-2.8

Conversation

@grom72

@grom72 grom72 commented Jul 22, 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 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.

Backport of: #18606

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).

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>
@github-actions

Copy link
Copy Markdown

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

@grom72
grom72 marked this pull request as ready for review July 22, 2026 21:09
@grom72
grom72 requested review from a team as code owners July 22, 2026 21:09
@grom72 grom72 added unclean-cherry-pick Indicates that a cherry-pick had merge conflicts that needed resolving. release-2.8 labels Jul 22, 2026
@phender
phender requested a review from a team July 24, 2026 13:47
@phender
phender merged commit ddc08b8 into release/2.8 Jul 24, 2026
66 of 67 checks passed
@phender
phender deleted the grom72/sre3874-docker-images-optimization-2.8 branch July 24, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-2.8 unclean-cherry-pick Indicates that a cherry-pick had merge conflicts that needed resolving.

Development

Successfully merging this pull request may close these issues.

4 participants