Dist gen generation - #541
Conversation
|
[test] |
Testing Farm results
|
|
Tests seem to mostly pass, the failures look like infra issues. |
a5b6c0f to
6852710
Compare
|
[test] |
|
@phracek Could you do a review please? |
phracek
left a comment
There was a problem hiding this comment.
Just a few comments. C8S is not supported at all.
|
@tjuhaszrh Please update |
|
[test] |
|
I don't think the README check targets changes from this PR. |
Removed all mentions of c8s and regenerated files, so c8s dockerfiles should be gone. |
|
@tjuhaszrh Please by |
|
[test] |
|
[test] |
|
[test-pytest] |
|
[test] |
phracek
left a comment
There was a problem hiding this comment.
See my comments. Let's make the src/Dockerfile more readable. Let's remove a lot of duplicty.
But thanks for your good work.
| {% if spec.prod in ["c9s", "rhel10", "c10s"] %} | ||
| # Package libatomic_ops was removed | ||
| {% endif %}{% if spec.prod in ["rhel10", "c10s"] and spec.version == "22" %} | ||
| RUN INSTALL_PKGS="make gcc gcc-c++ git openssl-devel nodejs nodejs-nodemon nodejs-npm nss_wrapper-libs which" && \ |
There was a problem hiding this comment.
what about to add none npm package to mamultispec.yml file and add only nodejs version or unversioned packages here.
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds templated Node.js image generation across distributions and versions, new S2I lifecycle scripts, runtime helpers, manifests, documentation, minimal-image changes, and generated Node.js 22 and 24 artifact updates. ChangesSource image and generation infrastructure
Versioned artifact corrections
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant S2I
participant assemble
participant run
participant init-wrapper
participant NodeProcess
S2I->>assemble: provide application source
assemble->>assemble: configure npm and install dependencies
assemble->>assemble: build and prune production dependencies
S2I->>run: start container
run->>run: resolve startup mode
run->>init-wrapper: launch wrapped command
init-wrapper->>NodeProcess: start and forward signals
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
src/README.md (1)
5-5: ⚡ Quick winFix spelling and grammar errors in both README templates.
Multiple spelling errors and hyphenation issues reduce clarity and professional appearance. Consistent errors across both files:
src/README.md#L206, src/README.minimal.md#L278: "souce" → "source"src/README.md#L264, src/README.minimal.md#L336: "avalable" → "available"src/README.md#L149, src/README.minimal.md#L222: "environemnt variale" → "environment variable"src/README.md#L301, src/README.minimal.md#L372: "another versions" → "other versions"src/README.md#L5,L7, src/README.minimal.md#L7: "Fedora based" → "Fedora-based"src/README.md#L166, src/README.minimal.md#L238: "key value pairs" → "key-value pairs"🔧 Proposed fixes for spelling and grammar in src/README.md
-Users can choose between RHEL, CentOS and Fedora based images. +Users can choose between RHEL, CentOS and Fedora-based images. -and the Fedora images are available in [Quay.io](https://quay.io/organization/fedora). +and the Fedora-based images are available in [Quay.io](https://quay.io/organization/fedora). -In case of `NODE_CMD` environemnt variale is specified, then `init-wrapper` script will use the value of `NODE_CMD` to start your application. +In case of `NODE_CMD` environment variable is specified, then `init-wrapper` script will use the value of `NODE_CMD` to start your application. -One way to define a set of environment variables is to include them as key value pairs in your repo's `.s2i/environment` file. +One way to define a set of environment variables is to include them as key-value pairs in your repo's `.s2i/environment` file. -As part of development mode, this image supports hot deploy. If development mode is enabled, any souce code that is changed in the running container will be immediately reflected in the running nodejs application. +As part of development mode, this image supports hot deploy. If development mode is enabled, any source code that is changed in the running container will be immediately reflected in the running nodejs application. -A detailed explanation on how the init-wrapper script works is avalable in +A detailed explanation on how the init-wrapper script works is available in -In that repository you also can find another versions of Node.js environment Dockerfiles. +In that repository you also can find other versions of Node.js environment Dockerfiles.🔧 Proposed fixes for spelling and grammar in src/README.minimal.md
-Users can choose between RHEL, CentOS and Fedora based images. +Users can choose between RHEL, CentOS and Fedora-based images. -In case of `NODE_CMD` environemnt variale is specified, then `init-wrapper` script will use the value of `NODE_CMD` to start your application. +In case of `NODE_CMD` environment variable is specified, then `init-wrapper` script will use the value of `NODE_CMD` to start your application. -One way to define a set of environment variables is to include them as key value pairs in your repo's `.s2i/environment` file. +One way to define a set of environment variables is to include them as key-value pairs in your repo's `.s2i/environment` file. -As part of development mode, this image supports hot deploy. If development mode is enabled, any souce code that is changed in the running container will be immediately reflected in the running nodejs application. +As part of development mode, this image supports hot deploy. If development mode is enabled, any source code that is changed in the running container will be immediately reflected in the running nodejs application. -A detailed explanation on how the init-wrapper script works is avalable in +A detailed explanation on how the init-wrapper script works is available in -In that repository you also can find another versions of Node.js environment Dockerfiles. +In that repository you also can find other versions of Node.js environment Dockerfiles.🤖 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 `@src/README.md` at line 5, Fix all spelling and grammar errors across src/README.md and src/README.minimal.md. In src/README.md at lines 5-7, change "Fedora based" to "Fedora-based". Additionally, in src/README.md, correct "souce" to "source" at line 206, "avalable" to "available" at line 264, "environemnt variale" to "environment variable" at line 149, "another versions" to "other versions" at line 301, and "key value pairs" to "key-value pairs" at line 166. In src/README.minimal.md, apply the same corrections at the corresponding locations: line 7 for "Fedora-based", line 278 for "source", line 336 for "available", line 222 for "environment variable", line 372 for "other versions", and line 238 for "key-value pairs".
🤖 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 `@src/Dockerfile`:
- Around line 71-73: The conditional guard on line 71 checks for
`config.post_install` but the RUN directive on line 73 renders
`spec.post_install`, causing a namespace mismatch. Since the post_install field
is defined in the spec namespace in specs/multispec.yml, the condition will
always evaluate to false and skip the post-install hook. Change the conditional
on line 71 from `{% if config.post_install %}` to `{% if spec.post_install %}`
to match the namespace being used in the RUN statement.
In `@src/s2i/bin/run`:
- Around line 31-37: The startup command detection has two issues: First, on
line 36, the condition `[ -n $package_json_main ]` uses an unquoted variable,
which when empty expands to `[ -n ]` and evaluates to true incorrectly—add
quotes around the variable to properly check if it is non-empty. Second, lines
31-32 execute sed commands on package.json without verifying the file exists
first, which will cause the script to exit under set -e if the file is
missing—add a file existence check before the sed commands that read the
package.json file to ensure the script handles missing package.json gracefully.
---
Nitpick comments:
In `@src/README.md`:
- Line 5: Fix all spelling and grammar errors across src/README.md and
src/README.minimal.md. In src/README.md at lines 5-7, change "Fedora based" to
"Fedora-based". Additionally, in src/README.md, correct "souce" to "source" at
line 206, "avalable" to "available" at line 264, "environemnt variale" to
"environment variable" at line 149, "another versions" to "other versions" at
line 301, and "key value pairs" to "key-value pairs" at line 166. In
src/README.minimal.md, apply the same corrections at the corresponding
locations: line 7 for "Fedora-based", line 278 for "source", line 336 for
"available", line 222 for "environment variable", line 372 for "other versions",
and line 238 for "key-value pairs".
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 48becdda-8e9b-440a-9d42-410371d84779
📒 Files selected for processing (45)
22-minimal/.exclude-c8s22-minimal/.exclude-c9s22-minimal/.exclude-fedora22-minimal/Dockerfile.c8s22-minimal/s2i/bin/init-wrapper22-minimal/s2i/bin/run22/.exclude-c8s22/.exclude-c9s22/.exclude-fedora22/Dockerfile.c8s22/Dockerfile.rhel822/Dockerfile.rhel922/s2i/bin/init-wrapper22/s2i/bin/run22/test24-minimal/.exclude-c8s24-minimal/.exclude-rhel824-minimal/Dockerfile.c8s24-minimal/s2i/bin/init-wrapper24-minimal/s2i/bin/run24/.exclude-c8s24/.exclude-rhel824/Dockerfile.c8s24/Dockerfile.rhel824/Dockerfile.rhel924/s2i/bin/init-wrapper24/s2i/bin/run24/testREADME.mdmanifest-minimal.ymlmanifest.ymlspecs/multispec.ymlsrc/Dockerfilesrc/README.mdsrc/README.minimal.mdsrc/root/opt/app-root/etc/generate_container_usersrc/root/opt/app-root/etc/npm_global_module_listsrc/root/opt/app-root/etc/scl_enablesrc/root/usr/bin/fix-permissionssrc/s2i/bin/assemblesrc/s2i/bin/init-wrappersrc/s2i/bin/runsrc/s2i/bin/run-minimalsrc/s2i/bin/save-artifactssrc/s2i/bin/usage
💤 Files with no reviewable changes (4)
- 24-minimal/Dockerfile.c8s
- 24/Dockerfile.c8s
- 22-minimal/Dockerfile.c8s
- 22/Dockerfile.c8s
phracek
left a comment
There was a problem hiding this comment.
Last round. Now it looks really awesome.
|
[test] |
There was a problem hiding this comment.
Actionable comments posted: 6
🧹 Nitpick comments (2)
src/README.md (1)
29-34: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winFix Markdown lint violations in the source templates.
The same generated-formatting issues appear in both files.
src/README.md#L29-L34: add fence languages and normalize heading formatting throughout the template.src/README.minimal.md#L36-L61: apply the same changes, then regenerate artifacts.🤖 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 `@src/README.md` around lines 29 - 34, Fix Markdown linting in both source templates: update src/README.md lines 29-34 and src/README.minimal.md lines 36-61 by adding appropriate languages to fenced code blocks and normalizing heading formatting throughout each template, then regenerate the derived artifacts.Source: Linters/SAST tools
src/Dockerfile (1)
72-72: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueSimplify script path targeting.
Since
$STI_SCRIPTS_PATHcorrectly resolves to/usr/libexec/s2iin the utilized S2I core bases, you can simplify the template by referencing the environment variable unconditionally.♻️ Proposed refactor
-RUN chmod +x {% if spec.version == "20" %}$STI_SCRIPTS_PATH/init-wrapper{% else %}/usr/libexec/s2i/init-wrapper{% endif %} +RUN chmod +x $STI_SCRIPTS_PATH/init-wrapper🤖 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 `@src/Dockerfile` at line 72, Update the init-wrapper chmod command to use $STI_SCRIPTS_PATH/init-wrapper unconditionally, removing the spec.version conditional while preserving the existing executable-permission step.
🤖 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 `@specs/multispec-npm-config.yml`:
- Around line 64-65: Update the full_image_name configuration for rhel10 to
append the :latest tag, matching the tag format used by the other image
configurations while leaving img_name unchanged.
In `@src/Dockerfile`:
- Around line 56-58: Update the conditional removal commands in the Node.js
symlink setup to use force removal, replacing each relevant rm invocation for
node, npm, and npx with rm -f so builds continue when the unversioned binaries
are absent.
- Around line 65-68: Move the spec.post_install hook into the preceding RUN
command before the package-manager clean all operation, preserving valid command
chaining and avoiding a standalone RUN block ending with && \. Remove the
separate RUN {{ spec.post_install }} block while keeping the existing
conditional behavior for configurations without post_install.
In `@src/README.md`:
- Around line 289-296: Update the custom-command examples in src/README.md lines
289-296 and src/README.minimal.md lines 361-368 to use INIT_WRAPPER=true in both
container build and container start commands, preserving the documented
init-wrapper usage.
- Around line 191-194: Correct both Podman development-mode examples by adding
the missing --env option before DEBUG_PORT=5454 in src/README.md lines 191-194
and src/README.minimal.md lines 263-266, ensuring both commands set DEBUG_PORT
correctly.
- Around line 227-250: Fix the package.json examples in src/README.md lines
227-250 and src/README.minimal.md lines 299-322 by removing the inline
annotations and trailing commas, or change both fenced blocks to jsonc
consistently so the examples are valid as documented.
---
Nitpick comments:
In `@src/Dockerfile`:
- Line 72: Update the init-wrapper chmod command to use
$STI_SCRIPTS_PATH/init-wrapper unconditionally, removing the spec.version
conditional while preserving the existing executable-permission step.
In `@src/README.md`:
- Around line 29-34: Fix Markdown linting in both source templates: update
src/README.md lines 29-34 and src/README.minimal.md lines 36-61 by adding
appropriate languages to fenced code blocks and normalizing heading formatting
throughout each template, then regenerate the derived artifacts.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 326e8a59-ae2a-4781-97e8-e72da2fe3747
📒 Files selected for processing (45)
22-minimal/.exclude-c8s22-minimal/.exclude-c9s22-minimal/.exclude-fedora22-minimal/Dockerfile.c8s22-minimal/s2i/bin/init-wrapper22-minimal/s2i/bin/run22/.exclude-c8s22/.exclude-c9s22/.exclude-fedora22/Dockerfile.rhel822/Dockerfile.rhel922/s2i/bin/init-wrapper22/s2i/bin/run22/test24-minimal/.exclude-c8s24-minimal/.exclude-rhel824-minimal/Dockerfile.c8s24-minimal/s2i/bin/init-wrapper24-minimal/s2i/bin/run24/.exclude-c8s24/.exclude-rhel824/Dockerfile.c8s24/Dockerfile.rhel824/Dockerfile.rhel924/s2i/bin/init-wrapper24/s2i/bin/run24/testREADME.mdmanifest-minimal.ymlmanifest.ymlspecs/multispec-npm-config.ymlspecs/multispec.ymlsrc/Dockerfilesrc/README.mdsrc/README.minimal.mdsrc/root/opt/app-root/etc/generate_container_usersrc/root/opt/app-root/etc/npm_global_module_listsrc/root/opt/app-root/etc/scl_enablesrc/root/usr/bin/fix-permissionssrc/s2i/bin/assemblesrc/s2i/bin/init-wrappersrc/s2i/bin/runsrc/s2i/bin/run-minimalsrc/s2i/bin/save-artifactssrc/s2i/bin/usage
💤 Files with no reviewable changes (3)
- 24-minimal/Dockerfile.c8s
- 24/Dockerfile.c8s
- 22-minimal/Dockerfile.c8s
🚧 Files skipped from review as they are similar to previous changes (24)
- 24/test
- 24-minimal/s2i/bin/run
- 22/s2i/bin/run
- src/s2i/bin/init-wrapper
- 22/Dockerfile.rhel9
- src/s2i/bin/save-artifacts
- 22/Dockerfile.rhel8
- 22/test
- 24/Dockerfile.rhel9
- manifest.yml
- 24/Dockerfile.rhel8
- 22-minimal/s2i/bin/run
- src/root/opt/app-root/etc/npm_global_module_list
- src/root/opt/app-root/etc/scl_enable
- src/root/usr/bin/fix-permissions
- src/s2i/bin/usage
- src/s2i/bin/run
- README.md
- manifest-minimal.yml
- src/s2i/bin/assemble
- 24/s2i/bin/run
- src/s2i/bin/run-minimal
- specs/multispec.yml
- src/root/opt/app-root/etc/generate_container_user
987fc0a to
02fb0d2
Compare
|
[test] |
There was a problem hiding this comment.
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 `@src/Dockerfile`:
- Line 1: Update the Dockerfile base-image template to remove the spec.prod ==
"c8s" condition, retaining only the tag-presence check when deciding whether to
append :latest. Regenerate any derived artifacts after updating the template.
🪄 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: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 6c47cc05-1e91-46e6-90ad-2ca69b7e3dfc
📒 Files selected for processing (45)
22-minimal/.exclude-c8s22-minimal/.exclude-c9s22-minimal/.exclude-fedora22-minimal/Dockerfile.c8s22-minimal/s2i/bin/init-wrapper22-minimal/s2i/bin/run22/.exclude-c8s22/.exclude-c9s22/.exclude-fedora22/Dockerfile.rhel822/Dockerfile.rhel922/s2i/bin/init-wrapper22/s2i/bin/run22/test24-minimal/.exclude-c8s24-minimal/.exclude-rhel824-minimal/s2i/bin/init-wrapper24-minimal/s2i/bin/run24/.exclude-c8s24/.exclude-rhel824/Dockerfile.c8s24/Dockerfile.rhel824/Dockerfile.rhel924/s2i/bin/init-wrapper24/s2i/bin/run24/testREADME.mdmanifest-minimal.ymlmanifest.ymlspecs/multispec-npm-config.ymlspecs/multispec.ymlsrc/Dockerfilesrc/Dockerfile.minimalsrc/README.mdsrc/README.minimal.mdsrc/root/opt/app-root/etc/generate_container_usersrc/root/opt/app-root/etc/npm_global_module_listsrc/root/opt/app-root/etc/scl_enablesrc/root/usr/bin/fix-permissionssrc/s2i/bin/assemblesrc/s2i/bin/init-wrappersrc/s2i/bin/runsrc/s2i/bin/run-minimalsrc/s2i/bin/save-artifactssrc/s2i/bin/usage
💤 Files with no reviewable changes (2)
- 24/Dockerfile.c8s
- 22-minimal/Dockerfile.c8s
🚧 Files skipped from review as they are similar to previous changes (25)
- 24/s2i/bin/run
- src/root/opt/app-root/etc/npm_global_module_list
- 24/Dockerfile.rhel9
- 22-minimal/s2i/bin/run
- 22/test
- src/s2i/bin/usage
- src/root/opt/app-root/etc/scl_enable
- 24-minimal/s2i/bin/run
- 22/Dockerfile.rhel9
- src/root/opt/app-root/etc/generate_container_user
- manifest-minimal.yml
- 22/Dockerfile.rhel8
- src/s2i/bin/init-wrapper
- 24/Dockerfile.rhel8
- manifest.yml
- src/root/usr/bin/fix-permissions
- 22/s2i/bin/run
- specs/multispec-npm-config.yml
- 24/test
- src/s2i/bin/run
- src/s2i/bin/save-artifacts
- src/s2i/bin/run-minimal
- README.md
- src/s2i/bin/assemble
- specs/multispec.yml
|
[test] |
77d727e to
f104306
Compare
|
[test] |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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 `@src/Dockerfile.minimal`:
- Around line 53-57: Move the entire package-manager module disable/enable
command, including its package-manager prefix and -y flag, inside the spec.prod
!= "fedora" conditional in the Dockerfile template. Ensure Fedora renders no
standalone package-manager command before the install command, while non-Fedora
distributions retain both module operations.
In `@src/Dockerfile.minimal.fedora`:
- Line 44: Update the com.redhat.component value in Dockerfile.minimal.fedora so
the rendered name contains only one -container suffix, matching the
22-minimal/Dockerfile.fedora convention; adjust the minimal-specific component
value or remove the existing suffix before adding the minimal suffix, then
regenerate the artifacts.
- Around line 51-54: In the Dockerfile template’s package-install RUN block,
create the unversioned /usr/bin/node, /usr/bin/npm, and /usr/bin/npx links from
their versioned binaries before the node -v validation. Preserve the existing
package installation and version-check flow.
🪄 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: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 6a99a9d5-55e3-49b2-9c37-58db74d8b607
📒 Files selected for processing (45)
22-minimal/.exclude-c8s22-minimal/.exclude-c9s22-minimal/.exclude-fedora22-minimal/s2i/bin/init-wrapper22-minimal/s2i/bin/run22/.exclude-c8s22/.exclude-c9s22/.exclude-fedora22/Dockerfile.rhel822/Dockerfile.rhel922/s2i/bin/init-wrapper22/s2i/bin/run22/test24-minimal/.exclude-c8s24-minimal/.exclude-rhel824-minimal/s2i/bin/init-wrapper24-minimal/s2i/bin/run24/.exclude-c8s24/.exclude-rhel824/Dockerfile.c8s24/Dockerfile.rhel824/Dockerfile.rhel924/s2i/bin/init-wrapper24/s2i/bin/run24/testREADME.mdmanifest-minimal.ymlmanifest.ymlspecs/multispec-npm-config.ymlspecs/multispec.ymlsrc/Dockerfilesrc/Dockerfile.minimalsrc/Dockerfile.minimal.fedorasrc/README.mdsrc/README.minimal.mdsrc/root/opt/app-root/etc/generate_container_usersrc/root/opt/app-root/etc/npm_global_module_listsrc/root/opt/app-root/etc/scl_enablesrc/root/usr/bin/fix-permissionssrc/s2i/bin/assemblesrc/s2i/bin/init-wrappersrc/s2i/bin/runsrc/s2i/bin/run-minimalsrc/s2i/bin/save-artifactssrc/s2i/bin/usage
💤 Files with no reviewable changes (1)
- 24/Dockerfile.c8s
🚧 Files skipped from review as they are similar to previous changes (25)
- src/s2i/bin/usage
- 24/test
- 24-minimal/s2i/bin/run
- 24/s2i/bin/run
- src/s2i/bin/save-artifacts
- src/root/opt/app-root/etc/npm_global_module_list
- 22/s2i/bin/run
- 24/Dockerfile.rhel9
- src/root/opt/app-root/etc/scl_enable
- src/root/usr/bin/fix-permissions
- manifest-minimal.yml
- README.md
- src/s2i/bin/init-wrapper
- 22/test
- 22/Dockerfile.rhel9
- 22-minimal/s2i/bin/run
- 24/Dockerfile.rhel8
- 22/Dockerfile.rhel8
- src/root/opt/app-root/etc/generate_container_user
- src/s2i/bin/run-minimal
- specs/multispec-npm-config.yml
- src/s2i/bin/run
- manifest.yml
- specs/multispec.yml
- src/s2i/bin/assemble
|
[test] |
Replace manually-maintained Dockerfiles with distgen-generated ones using Jinja2 templates and multispec YAML configuration. This enables consistent Dockerfile generation across all distro/version combinations. Changes: - Add src/Dockerfile, src/Dockerfile.minimal, src/Dockerfile.minimal.fedora as Jinja2 templates for distgen rendering - Add src/README.md, src/README.minimal.md templates with typo fixes and corrected documentation (environment variable, key-value pairs, etc.) - Add src/s2i/bin/* scripts (assemble, run, run-minimal, save-artifacts, usage, init-wrapper) with package.json existence check and quoted variables - Add manifest.yml and manifest-minimal.yml defining generation rules - Add specs/multispec.yml with per-distro (fedora, rhel8/9/10, c9s, c10s) and per-version (20, 22, 24, plus minimal variants) configuration - Add specs/multispec-npm-config.yml for npm configuration variants - Regenerate all Dockerfiles for versions 22, 22-minimal, 24, 24-minimal across all supported distros - Regenerate README.md files from templates - Update root README.md version table Key template features: - Conditional package naming for versioned distros (Fedora, RHEL10, C10S use nodejs$VERSION/nodejs$VERSION-npm; others use nodejs/npm) - Conditional build dependencies (gcc-toolset-13 for RHEL8, libatomic_ops for Fedora) - Versioned binary symlinks (rm -f + ln -s) for distros with needs_versioned_links (Fedora, RHEL10, C10S) - Module enable/disable for distros using dnf modules (RHEL8/9, C9S) - microdnf support for minimal images - Fedora 44 base images for all Fedora builds - Correct minimal package lists including nodejs-nodemon, nodejs-full-i18n, findutils, tar, which - trim_blocks-safe template structure to avoid newline stripping issues Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
[test] |
Cleaning up the draft PR.
Summary by CodeRabbit
New Features
Documentation
Bug Fixes