Skip to content

[rhoai-2.25] chore: remove orphan Dockerfiles and PDF install scripts - #2694

Merged
jiridanek merged 5 commits into
rhoai-2.25from
chore/remove-orphaned-pdf-install-scripts
Aug 4, 2026
Merged

[rhoai-2.25] chore: remove orphan Dockerfiles and PDF install scripts#2694
jiridanek merged 5 commits into
rhoai-2.25from
chore/remove-orphaned-pdf-install-scripts

Conversation

@ide-developer

@ide-developer ide-developer commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Description

Konflux is the sole build path for jupyter and runtime workbench images on rhoai-2.25 (Makefile, Tekton, and GHA all use Dockerfile.konflux.*). This PR removes dead artifacts left from the dual-Dockerfile era:

  • Delete unused pdf-builder stage from jupyter/minimal Konflux CPU Dockerfile and remove orphaned install_texlive.sh / install_pandoc.sh (PDF export uses install_pdf_deps.sh)
  • Delete 17 legacy Dockerfile.cpu / .cuda / .rocm files under jupyter/ and runtimes/ where Konflux pairs exist
  • Update CI/tests/docs to reference Konflux Dockerfiles only

Kept: rstudio/rhel9-python-3.11/Dockerfile.cpu and Dockerfile.cuda (Konflux symlink targets), and all base-images/** Dockerfiles (no Konflux pairs).

AI Transcript

cursor_dockerfile_konflux_pairs.md

How Has This Been Tested?

  • python3 -m unittest gen_gha_matrix_jobs.SelfTests gha_pr_changed_files.SelfTests (from ci/cached-builds/)
  • Verified paired non-Konflux deletions exclude rstudio and base-images

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

Summary by CodeRabbit

  • Build and Image Updates

    • Consolidated Python 3.12 CPU, CUDA, and ROCm container builds around Konflux-specific definitions.
    • Removed legacy container build variants and obsolete architecture-specific Pandoc and TeX Live installation flows.
    • Updated image discovery and changed-target filtering to recognize the current build definitions more reliably.
  • Documentation

    • Updated build examples and test references to use Konflux-specific accelerator image definitions.
    • Clarified the OpenShift client installation description.

jiridanek and others added 4 commits August 3, 2026 14:03
The Konflux minimal CPU Dockerfile had a pdf-builder stage that was never
referenced by COPY --from; PDF export already uses install_pdf_deps.sh.
Delete the unused stage and uninstall_texlive/install_pandoc helpers.

Co-authored-by: Cursor <cursoragent@cursor.com>
Delete Dockerfile.cpu/cuda/rocm where Dockerfile.konflux.* is the build
source of truth for Makefile, Tekton, and GHA. RStudio Dockerfile.cpu/cuda
remain as Konflux symlink targets.

Co-authored-by: Cursor <cursoragent@cursor.com>
Update manifest accelerator detection, PR changed-file Dockerfile discovery,
and docs/tests to reference Dockerfile.konflux.* after removing legacy
Dockerfile.cpu/cuda/rocm from jupyter and runtimes.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace stale cuda/ubi9-python-3.11 license path and 3.11 target names
with jupyter/utils/install_pdf_deps.sh and current 3.12 Makefile targets.

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

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR updates Python 3.12 changed-target detection for Konflux Dockerfiles, removes legacy CPU, CUDA, and ROCm image builds, removes Pandoc and TeX Live installer scripts, and updates accelerator filename references.

Changes

Python 3.12 Konflux migration

Layer / File(s) Summary
Konflux target discovery and filtering
ci/cached-builds/gha_pr_changed_files.py, ci/cached-builds/gen_gha_matrix_jobs.py
Changed-target discovery now resolves paths from PROJECT_ROOT, prioritizes sorted Dockerfile.konflux.* files, and falls back to sorted Dockerfile* files. Tests now cover Python 3.12 CPU, CUDA, and ROCm targets.
Legacy image build removal
jupyter/*/ubi9-python-3.12/Dockerfile.*, runtimes/*/ubi9-python-3.12/Dockerfile.*, jupyter/utils/install_pandoc.sh, jupyter/utils/install_texlive.sh
Legacy Python 3.12 CPU, CUDA, and ROCm Dockerfiles and standalone Pandoc and TeX Live installer scripts were deleted. The retained minimal Konflux CPU image no longer uses a separate PDF builder stage.
Konflux filename references
tests/manifests.py, scripts/buildinputs/buildinputs_test.go, scripts/lockfile-generators/README.md, codeserver/ubi9-python-3.12/Dockerfile.konflux.cpu
Accelerator detection, examples, and a commented test path now use Konflux Dockerfile names. The OpenShift client installation comment was clarified.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers: jiridanek, atheo89

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: removal of orphaned Dockerfiles and PDF installation scripts.
Description check ✅ Passed The description explains the scope, retained files, testing performed, and checklist status, although make test and manual testing remain unchecked.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/remove-orphaned-pdf-install-scripts

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.

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Superseded by newer run: https://github.com/red-hat-data-services/notebooks/actions/runs/30813629618

CI status [antigravity]

Run: Build Notebooks (push) #308134374282/2 complete · 2 skipped
Last updated: 2026-08-03T12:24:36Z

Workflow completed with skipped jobs.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@coderabbitai evaluate in light of the AI transcript from session that pushed the PR

cursor_dockerfile_konflux_pairs.md

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

attachment_url='https://github.com/user-attachments/files/30661078/cursor_dockerfile_konflux_pairs.md'
tmpfile="$(mktemp)"
trap 'rm -f "$tmpfile"' EXIT

curl --fail --location --silent --show-error "$attachment_url" -o "$tmpfile"
printf '%s\n' '--- AI session transcript ---'
sed -n '1,260p' "$tmpfile"

printf '%s\n' '--- Related module candidates ---'
fd -t f 'gha_pr_changed_files\.py$' .

printf '%s\n' '--- Outline of related module ---'
module="$(fd -t f 'gha_pr_changed_files\.py$' . | head -n 1)"
if [ -n "$module" ]; then
  ast-grep outline "$module" --items all
  printf '%s\n' '--- Target filtering implementation ---'
  rg -n -C 8 'def (filter_out_unchanged|should_build_target)\b|Dockerfile\.konflux|buildinputs' "$module"
fi

printf '%s\n' '--- Referenced build inputs ---'
rg -n -C 3 'install_pdf_deps\.sh|Dockerfile\.konflux\.(cpu|cuda|rocm)' jupyter 2>/dev/null || true

Length of output: 26924


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- All Konflux Dockerfiles that reference install_pdf_deps.sh ---'
rg -l -g 'Dockerfile.konflux.*' 'install_pdf_deps\.sh' . | sort

printf '%s\n' '--- 3.12 image-target mappings for the expected build directories ---'
rg -n -C 2 \
  'jupyter/(minimal|datascience|trustyai|pytorch(\+llmcompressor)?|tensorflow|rocm/(pytorch|tensorflow))/ubi9-python-3\.12' \
  Makefile makefiles . 2>/dev/null || true

printf '%s\n' '--- Direct Dockerfile test fixture exists and is a selected Konflux Dockerfile ---'
ls -l jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu

Length of output: 26582


@jiridanek, the transcript and the repository evidence support this change.

test_select_changed_targets_dockerfile now uses jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu. This is correct because find_dockerfiles() selects Dockerfile.konflux.* files when they exist.

The shared-file test is also correct. The repository contains exactly ten Konflux Dockerfiles that reference jupyter/utils/install_pdf_deps.sh. The asserted target set has one target for each of those Dockerfiles:

  • CPU: minimal, datascience, trustyai
  • CUDA: minimal, pytorch, pytorch-llmcompressor, tensorflow
  • ROCm: minimal, pytorch, tensorflow

should_build_target() scans all selected Konflux Dockerfiles in a build directory. Therefore, this fan-out is the expected current behavior.

The transcript also identifies the same 3.12 Konflux Dockerfile structure. The repository scan independently confirms the test fixture and the full ten-target expectation.

No issue found in this diff.


🧬 Code Graph Analysis Results

ci/cached-builds/gha_pr_changed_files.py

  • Lines 22–34 — list_changed_files(from_ref, to_ref) -> list[str]
    Runs git diff --name-only <from_ref>...<to_ref> -- and returns the PR’s changed file paths. Propagates subprocess failures.

  • Lines 74–84 — find_dockerfiles(directory) -> list
    Resolves the build directory and returns sorted Dockerfile.konflux.* files when present; otherwise returns sorted files matching Dockerfile*.

  • Lines 92–121 — should_build_target(changed_files, target_directory) -> str
    Returns the first changed file inside the target directory, or scans every Dockerfile in that directory with bin/buildinputs and returns the first changed dependency. Returns "" when no relevant change exists; propagates subprocess and JSON errors.

  • Lines 124–136 — filter_out_unchanged(targets, changed_files) -> list[str]
    Determines each target’s build directory using its Python version, retains targets for which should_build_target returns a truthy reason, and logs inclusion/exclusion decisions.

  • Lines 66–71 — get_build_directory and get_build_dockerfile
    Query Makefile metadata for a target’s build directory or Dockerfile via _query_build; raises if the Make query does not produce exactly one result.

ci/cached-builds/makefile_helper.py

  • Lines 42–52 — dry_run_makefile(target, makefile_dir, env) -> str
    Executes the Makefile in dry-run/database mode with supplied environment variables and returns stdout.

  • Lines 14–39 — exec_makefile(target, makefile_dir, options) -> str
    Runs make (or gmake on macOS) in the specified directory, captures stdout, and raises after reporting Makefile or execution errors.

You are interacting with an AI system.

Fix pre-commit ruff-format failure on pytest-tests workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Superseded by newer run: https://github.com/red-hat-data-services/notebooks/actions/runs/30813449775

CI status [antigravity]

Run: Build Notebooks (push) #308136296182/2 complete · 2 skipped
Last updated: 2026-08-03T12:27:26Z

Workflow completed with skipped jobs.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Superseded by newer run: https://github.com/red-hat-data-services/notebooks/actions/runs/30813631319

CI status [antigravity]

Run: Build Notebooks (pr) #3081344977528/28 complete · 1 passed · 27 cancelled
Last updated: 2026-08-03T12:27:52Z after workflow update completed

Failures so far

Job Failed step Link
cuda-jupyter-minimal-ubi9-python-3.12 · linux/amd64 [rhoai] / build Install from uv.lock (project + dev deps) logs
jupyter-minimal-ubi9-python-3.12 · linux/s390x [rhoai] / build Run actions/checkout@3d3c42e logs
rocm-jupyter-tensorflow-ubi9-python-3.12 · linux/amd64 [rhoai] / build Build: make rocm-jupyter-tensorflow-ubi9-python-3.12 logs
rocm-jupyter-minimal-ubi9-python-3.12 · linux/amd64 [rhoai] / build Login to quay.io/aipcc (if the secret is present) logs
cuda-jupyter-tensorflow-ubi9-python-3.12 · linux/amd64 [rhoai] / build Login to quay.io/aipcc (if the secret is present) logs
cuda-jupyter-tensorflow-ubi9-python-3.12 · linux/arm64 [rhoai] / build Setup uv and Python logs
runtime-minimal-ubi9-python-3.12 · linux/amd64 [rhoai] / build Install Podman logs
runtime-minimal-ubi9-python-3.12 · linux/s390x [rhoai] / build Install Podman logs

(+ 19 other failed matrix jobs)

Likely root causes

  • All 27 build jobs were cancelled (conclusion: "cancelled"), indicating that the workflow run itself was aborted or superseded rather than failing due to an internal build error or test failure in the PR changes.

Suggested next steps

  • Re-trigger the workflow if the cancellation was due to a manual abort, timeout, or queue supersession.

@jiridanek jiridanek changed the title chore: remove orphan Dockerfiles and PDF install scripts [rhoai-2.25] chore: remove orphan Dockerfiles and PDF install scripts Aug 3, 2026
@jiridanek

Copy link
Copy Markdown
Member

/build-konflux

@jiridanek
jiridanek marked this pull request as ready for review August 3, 2026 15:08
@openshift-ci
openshift-ci Bot requested review from atheo89 and jiridanek August 3, 2026 15:08

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/lockfile-generators/README.md`:
- Line 881: Align the custom flavor Dockerfile naming contract across the
README, the --flavor option description, and create-requirements-lockfile.sh
validation; choose either Dockerfile.konflux.<flavor> or Dockerfile.<flavor>,
then update all documented examples and checks to use that same convention.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ff86f637-0e30-4d79-8539-3e6b01140697

📥 Commits

Reviewing files that changed from the base of the PR and between 445a472 and 0c21053.

📒 Files selected for processing (26)
  • ci/cached-builds/gen_gha_matrix_jobs.py
  • ci/cached-builds/gha_pr_changed_files.py
  • codeserver/ubi9-python-3.12/Dockerfile.konflux.cpu
  • jupyter/datascience/ubi9-python-3.12/Dockerfile.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.rocm
  • jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm
  • jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm
  • jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/utils/install_pandoc.sh
  • jupyter/utils/install_texlive.sh
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu
  • runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu
  • runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
  • runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda
  • runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm
  • runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm
  • runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda
  • scripts/buildinputs/buildinputs_test.go
  • scripts/lockfile-generators/README.md
  • tests/manifests.py
💤 Files with no reviewable changes (20)
  • runtimes/rocm-pytorch/ubi9-python-3.12/Dockerfile.rocm
  • jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.rocm
  • jupyter/pytorch/ubi9-python-3.12/Dockerfile.cuda
  • runtimes/tensorflow/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/utils/install_texlive.sh
  • runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
  • runtimes/minimal/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/tensorflow/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.cpu
  • jupyter/utils/install_pandoc.sh
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu
  • runtimes/rocm-tensorflow/ubi9-python-3.12/Dockerfile.rocm
  • jupyter/rocm/tensorflow/ubi9-python-3.12/Dockerfile.rocm
  • runtimes/pytorch/ubi9-python-3.12/Dockerfile.cuda
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.rocm
  • runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu
  • jupyter/minimal/ubi9-python-3.12/Dockerfile.cpu

--pyproject-toml codeserver/ubi9-python-3.12/pyproject.toml

# Custom flavor (e.g. cuda — requires Dockerfile.cuda and build-args/cuda.conf)
# Custom flavor (e.g. cuda — requires Dockerfile.konflux.cuda and build-args/cuda.conf)

@coderabbitai coderabbitai Bot Aug 3, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- README and script filename rules ---'
rg -n -C 4 'Dockerfile(\.konflux)?|--flavor|PYLOCK_FLAVOR' \
    scripts/lockfile-generators/README.md \
    scripts/lockfile-generators/create-requirements-lockfile.sh

printf '%s\n' '--- Codeserver Dockerfiles ---'
fd -t f '^Dockerfile' codeserver/ubi9-python-3.12 | sort

Repository: red-hat-data-services/notebooks

Length of output: 20674


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- Generator option parsing and Dockerfile path usage ---'
sed -n '1,240p' scripts/pylocks_generator.py | nl -ba

printf '%s\n' '--- Deterministic path construction probe from generator source ---'
python3 - <<'PY'
from pathlib import Path
import ast, sys

path = Path("scripts/pylocks_generator.py")
tree = ast.parse(path.read_text())

for node in tree.body:
    if isinstance(node, ast.Expr) and isinstance(node.value, ast.Constant) and isinstance(node.value.value, str):
        print("TOPLEVEL:", node.lineno, repr(node.value.value[:200]))

for node in ast.walk(tree):
    if isinstance(node, ast.Assign):
        src = ast.get_source_segment(path.read_text(), node)
        if any(s in src for s in ["flavor", "dockerfile", "docker_file", "Dockerfile", "PYLOCK_FLAVOR"]):
            print(node.lineno, src.strip().replace("\n", " "))
PY

Repository: red-hat-data-services/notebooks

Length of output: 268


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- Generator option parsing and Dockerfile path usage ---'
awk '{printf "%5d  %s\n", NR, $0}' scripts/pylocks_generator.py | sed -n '1,240p'

printf '%s\n' '--- Read-only source probe for flavor-related assignments/expressions ---'
python3 - <<'PY'
from pathlib import Path
tree = None
try:
    import ast
    tree = ast.parse(Path("scripts/pylocks_generator.py").read_text())
except Exception as e:
    print("NO_AST:", repr(e))

text = Path("scripts/pylocks_generator.py").read_text().splitlines()
for i, line in enumerate(text, 1):
    if any(term in line for term in ["flavor", "flavour", "dockerfile", "docker_file", "Dockerfile", "PYLOCK_FLAVOR"]):
        print(f"{i}: {line}")
PY

Repository: red-hat-data-services/notebooks

Length of output: 13746


Align the documented Dockerfile filename contract.

--flavor NAME uses Dockerfile.konflux.<flavor> in rh-index mode, but scripts/lockfile-generators/create-requirements-lockfile.sh documents Dockerfile.<flavor>. Update the option description and script validation, or change the example/README to use Dockerfile.<flavor> consistently.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/lockfile-generators/README.md` at line 881, Align the custom flavor
Dockerfile naming contract across the README, the --flavor option description,
and create-requirements-lockfile.sh validation; choose either
Dockerfile.konflux.<flavor> or Dockerfile.<flavor>, then update all documented
examples and checks to use that same convention.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@coderabbitai create github issue for me to do subsequently, I don't want to fix this in the same PR because that would retrigger all builds if I push any more changes

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

repo="red-hat-data-services/notebooks"

body=$(cat <<'EOF'
## Summary

Align the Dockerfile filename contract for custom `--flavor` lockfile generation.

The documentation currently refers to `Dockerfile.konflux.<flavor>` in one location. Other `--flavor` documentation and validation refer to `Dockerfile.<flavor>`.

## Required changes

Choose one Dockerfile naming convention:

- `Dockerfile.konflux.<flavor>`, or
- `Dockerfile.<flavor>`

Update all related documentation, examples, and validation to use the selected convention consistently.

## Affected areas

- `scripts/lockfile-generators/README.md`
  - Custom flavor examples.
  - `--flavor` option description.
- `scripts/lockfile-generators/create-requirements-lockfile.sh`
  - Dockerfile validation for a custom flavor.

## Rationale

A single filename contract prevents incorrect custom-flavor instructions and validation failures.

## Acceptance criteria

- The README uses one Dockerfile filename convention for custom flavors.
- The `--flavor` option description uses that convention.
- `create-requirements-lockfile.sh` validates the same convention.
- Relevant examples use the same convention.

## Backlinks

- Deferred from PR `#2694`: https://github.com/red-hat-data-services/notebooks/pull/2694
- Review comment: https://github.com/red-hat-data-services/notebooks/pull/2694#discussion_r3705223077
- Requested by: `@jiridanek`
EOF
)

gh issue create \
  --repo "$repo" \
  --title "Align custom flavor Dockerfile naming for lockfile generation" \
  --assignee jiridanek \
  --body "$body"

Length of output: 1796


@jiridanek, I created and assigned #2700: Align custom flavor Dockerfile naming for lockfile generation.

You are interacting with an AI system.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

CI status [antigravity]

Run: Build Notebooks (pr) #3081363131928/28 complete · 27 passed · 1 failed
Last updated: 2026-08-04T12:52:40Z after workflow update completed

Failures so far

Job Failed step Link
runtime-datascience-ubi9-python-3.12 · linux/s390x [rhoai] / build Build: make runtime-datascience-ubi9-python-3.12 logs

Likely root causes

  • The runtime-datascience-ubi9-python-3.12 · linux/s390x [rhoai] / build job failed during the CMake build step within runtimes/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu (Dockerfile.konflux.cpu:L169-L194).
  • The CMake build failure in the s390x-builder stage is likely caused by package compilation incompatibilities or missing dependencies/policies when building packages (such as Apache Arrow or its dependencies) from source on the linux/s390x architecture.

Suggested next steps

  • Review the s390x build configuration and dependencies in Dockerfile.konflux.cpu to ensure all required CMake flags and package versions are compatible with linux/s390x.
  • Inspect the full build output for any specific C++ compilation errors preceding the CMake failure message.

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-runtime-pytorch-rocm

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-minimal-rocm

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-pytorch-rocm

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-tensorflow-cuda

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-tensorflow-rocm

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-trustyai

@openshift-ci openshift-ci Bot added the lgtm label Aug 4, 2026
@openshift-ci

openshift-ci Bot commented Aug 4, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: atheo89

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 label Aug 4, 2026
@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-runtime-pytorch-rocm

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-minimal-rocm

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-pytorch-rocm

@ide-developer

Copy link
Copy Markdown
Collaborator Author

/build-tensorflow-rocm

@jiridanek

Copy link
Copy Markdown
Member

/test odh-workbench-jupyter-tensorflow-rocm-py312-on-pull-request

@openshift-ci

openshift-ci Bot commented Aug 4, 2026

Copy link
Copy Markdown

@jiridanek: No presubmit jobs available for red-hat-data-services/notebooks@rhoai-2.25

Details

In response to this:

/test odh-workbench-jupyter-tensorflow-rocm-py312-on-pull-request

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.

3 participants