Skip to content

fix: revert the nodejs-24-minimal bump that broke the hermetic build - #5390

Open
gustavolira wants to merge 2 commits into
redhat-developer:mainfrom
gustavolira:fix/revert-nodejs-minimal-bump
Open

fix: revert the nodejs-24-minimal bump that broke the hermetic build#5390
gustavolira wants to merge 2 commits into
redhat-developer:mainfrom
gustavolira:fix/revert-nodejs-minimal-bump

Conversation

@gustavolira

Copy link
Copy Markdown
Member

main has been red since fbd9a52b. The hermetic build fails on both arches, at the skeleton stage:

Problem: conflicting requests
 - nothing provides xz-libs(x86-64) = 1:5.6.2-4.el10_2.1
   needed by xz-1:5.6.2-4.el10_2.1.x86_64 from ubi-10-for-x86_64-baseos-rpms

What happened

#5384 bumped only the runner image:

FROM ubi10/nodejs-24:10.2-1788939823          AS skeleton   ← unchanged
FROM ubi10/nodejs-24-minimal:10.2-1789045317  AS runner     ← bumped

That is not an oversight to fix by bumping the skeleton too: ubi10/nodejs-24 has no tag newer than 10.2-1788939823. The two images publish on different cadences and cannot be aligned today.

rpm-lockfile-prototype resolves against the Containerfile and omits whatever the base images already ship. Regenerated against the newer minimal image (#5389), it dropped xz-libs from the prefetch entirely while keeping xz:

rpms.lock.yaml xz xz-libs
before the bump 5.6.2-4.el10_2.1 5.6.2-4.el10_2.1 (4 occurrences)
after 5.6.2-4.el10_2.1 absent (0)

The failing dnf install runs in the skeleton stage, on the older image, which does not carry that xz-libs. In a hermetic build the prefetch is all dnf can see, so it cannot resolve.

Why revert rather than patch forward

Reverting both files restores d1dbd50d's combination, which built green at 17:55 today. Re-bumping the minimal image should wait for nodejs-24 to get a matching build, so the lockfile can be resolved against a consistent pair rather than a mismatched one.

How it got in

Neither PR built this combination:

Worth a follow-up: a change to build/containerfiles/Containerfile or rpms.lock.yaml is exactly the change that should never skip the image build.

🤖 Generated with Claude Code

main has been red since fbd9a52. The hermetic build fails on both arches at the
skeleton stage:

    Problem: conflicting requests
     - nothing provides xz-libs(x86-64) = 1:5.6.2-4.el10_2.1
       needed by xz-1:5.6.2-4.el10_2.1.x86_64

redhat-developer#5384 bumped only the runner image, nodejs-24-minimal, from 10.2-1788245909 to
10.2-1789045317. The skeleton stays on nodejs-24:10.2-1788939823, and that is
not an oversight: nodejs-24 has no newer tag, so the two images cannot be
aligned right now.

rpm-lockfile-prototype resolves against the Containerfile and drops whatever the
base images already ship. Regenerated against the newer minimal image (redhat-developer#5389) it
dropped xz-libs entirely — 4 occurrences before, 0 after — while keeping xz. The
failing dnf install runs in the skeleton stage, on the older image, where that
xz-libs is not present.

Reverting both files together restores d1dbd50's combination, which built green
at 17:55. Bumping the minimal image again should wait until nodejs-24 gets a
matching build, so the lockfile can be resolved against a consistent pair.

Neither PR built this combination before it landed: redhat-developer#5384 carried [skip-build],
and redhat-developer#5389's own "Build Image (Hermetic)" step reports skipped, so its green
check never compiled anything.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@kim-tsao

Copy link
Copy Markdown
Member

/retest

@openshift-ci

openshift-ci Bot commented Sep 11, 2026

Copy link
Copy Markdown

@gustavolira: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-ocp-helm 4141ab6 link true /test e2e-ocp-helm

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-ci openshift-ci Bot removed the lgtm label Sep 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@sonarqubecloud

Copy link
Copy Markdown

@kim-tsao

Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants