Skip to content

[rhoai-2.25.10] RHAIENG-287: fix(Dockerfiles): wrap remaining RUN && chains in bash heredocs#2485

Open
jiridanek wants to merge 1 commit into
rhoai-2.25from
fix/rhoai-2.25-run-heredoc-chains
Open

[rhoai-2.25.10] RHAIENG-287: fix(Dockerfiles): wrap remaining RUN && chains in bash heredocs#2485
jiridanek wants to merge 1 commit into
rhoai-2.25from
fix/rhoai-2.25-run-heredoc-chains

Conversation

@jiridanek

@jiridanek jiridanek commented Jul 10, 2026

Copy link
Copy Markdown
Member

Description

Follow-up to #2471. Converts remaining RUN ... && ... chains in 32 workbench Dockerfiles to RUN /bin/bash <<'EOF' blocks with set -Eeuxo pipefail, matching the pattern already applied to datascience images.

Scope: jupyter/, runtimes/, and codeserver/ workbench images (cpu/cuda/rocm + konflux pairs). Excludes rstudio/ (RHAIENG-2430) and datascience (done in #2471).

Conventions:

  • source preserved inside bash heredocs (not .) for gcc-toolset / profile.d scripts
  • Blank line after EOF before the next Dockerfile instruction (hadolint)
  • bash -c mount blocks expanded to multiline if/fi where applicable
  • ROCm images: removed stray \ on standalone # Fix permissions... comments

How Has This Been Tested?

  • hadolint --config ./ci/hadolint-config.yaml on all 52 workbench Dockerfiles (0 errors)

Self checklist (all need to be checked):

  • Ensure that you have run make test (gmake on macOS) before asking for review
  • Changes to everything except Dockerfile.konflux files should be done in odh/notebooks and automatically synced to rhds/notebooks. For Konflux-specific changes, modify Dockerfile.konflux files directly in rhds/notebooks as these require special attention in the downstream repository and flow to the upcoming RHOAI release.

Merge criteria:

  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

Made with Cursor

…eredocs

Convert workbench Dockerfiles (excluding datascience and rstudio) to
RUN /bin/bash <<'EOF' blocks so hadolint accepts source and multiline
install steps stay readable.

Co-authored-by: Cursor <cursoragent@cursor.com>
@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign jesuino for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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 requested review from atheo89 and dibryant July 10, 2026 06:32
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@jiridanek, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 33 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a32a4405-76e9-46d4-b363-2b6558ec74f2

📥 Commits

Reviewing files that changed from the base of the PR and between ab66e21 and 0ffb761.

📒 Files selected for processing (32)
  • codeserver/ubi9-python-3.12/Dockerfile.cpu
  • codeserver/ubi9-python-3.12/Dockerfile.konflux.cpu
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.cpu
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.cuda
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.rocm
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm
  • jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.konflux.cuda
  • jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/pytorch/ubi9-python-3.12/Dockerfile.konflux.cuda
  • jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.konflux.rocm
  • jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm
  • jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.konflux.rocm
  • jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm
  • jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/tensorflow/ubi9-python-3.12/Dockerfile.konflux.cuda
  • jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/trustyai/ubi9-python-3.12/Dockerfile.konflux.cpu
  • runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu
  • runtimes/minimal/ubi9-python-3.12/Dockerfile.konflux.cpu
  • runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
  • runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.konflux.cuda
  • runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda
  • runtimes/pytorch/ubi9-python-3.12/Dockerfile.konflux.cuda
  • runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.konflux.rocm
  • runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm
  • runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.konflux.rocm
  • runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm
  • runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda
  • runtimes/tensorflow/ubi9-python-3.12/Dockerfile.konflux.cuda
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/rhoai-2.25-run-heredoc-chains

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

tar -xzvf /tmp/openshift-client-linux.tar.gz oc && \
rm -f /tmp/openshift-client-linux.tar.gz
RUN /bin/bash <<'EOF'
set -Eeuxo pipefail
tar -xzvf /tmp/openshift-client-linux.tar.gz oc && \
rm -f /tmp/openshift-client-linux.tar.gz
RUN /bin/bash <<'EOF'
set -Eeuxo pipefail
RUN dnf install -y perl mesa-libGL skopeo && dnf clean all && rm -rf /var/cache/yum
RUN /bin/bash <<'EOF'
set -Eeuxo pipefail
dnf install -y perl mesa-libGL skopeo
RUN dnf install -y perl mesa-libGL skopeo && dnf clean all && rm -rf /var/cache/yum
RUN /bin/bash <<'EOF'
set -Eeuxo pipefail
dnf install -y perl mesa-libGL skopeo
curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/ocp/stable/openshift-client-linux.tar.gz \
-o /tmp/openshift-client-linux.tar.gz
tar -xzvf /tmp/openshift-client-linux.tar.gz oc
rm -f /tmp/openshift-client-linux.tar.gz
tar -xzvf /tmp/openshift-client-linux.tar.gz oc && \
rm -f /tmp/openshift-client-linux.tar.gz
RUN /bin/bash <<'EOF'
set -Eeuxo pipefail
set -Eeuxo pipefail
dnf install -y perl mesa-libGL skopeo libxcrypt-compat
dnf clean all
rm -rf /var/cache/yum
@jiridanek jiridanek changed the title RHAIENG-287: fix(Dockerfiles): wrap remaining RUN && chains in bash heredocs [rhoai-2.25] RHAIENG-287: fix(Dockerfiles): wrap remaining RUN && chains in bash heredocs Jul 10, 2026
@jiridanek jiridanek added this to the rhoai-2.25.10 milestone Jul 10, 2026
@jiridanek jiridanek changed the title [rhoai-2.25] RHAIENG-287: fix(Dockerfiles): wrap remaining RUN && chains in bash heredocs [rhoai-2.25.10] RHAIENG-287: fix(Dockerfiles): wrap remaining RUN && chains in bash heredocs Jul 10, 2026
@openshift-ci

openshift-ci Bot commented Jul 16, 2026

Copy link
Copy Markdown

PR needs rebase.

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.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants