Skip to content

CNTRLPLANE-3339: Add Node.js to CI image for promptfoo eval support - #443

Closed
enxebre wants to merge 1 commit into
openshift-eng:mainfrom
enxebre:feat/add-nodejs-promptfoo
Closed

CNTRLPLANE-3339: Add Node.js to CI image for promptfoo eval support#443
enxebre wants to merge 1 commit into
openshift-eng:mainfrom
enxebre:feat/add-nodejs-promptfoo

Conversation

@enxebre

@enxebre enxebre commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds Node.js v22 (pinned, installed from nodejs.org) to the CI image to enable running npx promptfoo@latest eval at runtime
  • Makes PCP tools install best-effort (--skip-unavailable) so local builds without full RHEL repos succeed

Supersedes openshift/hypershift#8382. Preferred promptfoo initially for wide feature coverage including skills evaluation.

Test plan

  • Built image locally with podman build
  • Verified node --version and npx promptfoo --version work inside the container

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Container image now includes Node.js 22.15.1 runtime with version verification
    • Updated PCP tooling installation method for enhanced dependency resolution

CNTRLPLANE-3339

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 5, 2026
@openshift-ci-robot

openshift-ci-robot commented May 5, 2026

Copy link
Copy Markdown

@enxebre: This pull request references CNTRLPLANE-3339 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Adds Node.js v22 (pinned, installed from nodejs.org) to the CI image to enable running npx promptfoo@latest eval at runtime
  • Makes PCP tools install best-effort (--skip-unavailable) so local builds without full RHEL repos succeed

Supersedes openshift/hypershift#8382. Preferred promptfoo initially for wide feature coverage including skills evaluation.

Test plan

  • Built image locally with podman build
  • Verified node --version and npx promptfoo --version work inside the container

🤖 Generated with Claude Code

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
openshift-ci Bot requested review from brandisher and stbenjam May 5, 2026 12:11
@openshift-ci

openshift-ci Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: enxebre

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 5, 2026
@coderabbitai

coderabbitai Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 104782e1-3a91-4ea0-9478-0bb66e545e99

📥 Commits

Reviewing files that changed from the base of the PR and between 36b81a2 and 5f3a322.

📒 Files selected for processing (1)
  • images/Dockerfile

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting


Walkthrough

The Dockerfile is updated to install PCP tools with the --skip-unavailable flag for robustness and adds a new Node.js 22.15.1 installation block that downloads, extracts, and verifies the runtime in the Docker image.

Changes

Docker Build Environment

Layer / File(s) Summary
PCP Tool Installation
images/Dockerfile
PCP tools installation now uses dnf install -y --skip-unavailable to gracefully handle missing packages.
Node.js Runtime Setup
images/Dockerfile
Node.js 22.15.1 is pinned via NODE_VERSION environment variable, downloaded from nodejs.org as a Linux x64 tarball, extracted to /usr/local, and verified with node and npm version checks.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@enxebre enxebre closed this May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants