Skip to content

Update Node.js version in GitHub Actions workflow#738

Merged
drizzentic merged 1 commit intomasterfrom
drizzentic-patch-1
Mar 12, 2026
Merged

Update Node.js version in GitHub Actions workflow#738
drizzentic merged 1 commit intomasterfrom
drizzentic-patch-1

Conversation

@drizzentic
Copy link
Copy Markdown
Collaborator

@drizzentic drizzentic commented Mar 12, 2026

Summary by CodeRabbit

  • Chores
    • Updated build infrastructure and environment configuration to improve continuous integration pipeline reliability and compatibility.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 12, 2026

Walkthrough

Node.js version in the GitHub Actions workflow upgraded from 14.x to 18.x. A minor formatting adjustment was made to the docker image tag configuration line. Changes are limited to the workflow file.

Changes

Cohort / File(s) Summary
CI/CD Workflow Configuration
.github/workflows/master.yml
Node.js runtime version updated from 14.x to 18.x in GitHub Actions workflow; docker image tag line formatting adjusted.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • openhim-console#736: Upgrades Node.js version from 14 to 18 in a Dockerfile, mirroring the same dependency modernization effort across build infrastructure.

Poem

🐰 Hop hop, here comes Node's new way,
Version eighteen starts today!
Old fourteen made its final run,
Fresh dependencies—let's have fun! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'Update Node.js version in GitHub Actions workflow' accurately summarizes the main change: updating the Node version from 14.x to 18.x in the workflow file.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch drizzentic-patch-1

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 and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/master.yml (1)

42-42: Consider publishing an immutable tag alongside latest.

Using only latest makes rollback and provenance harder after successive pushes to master. Adding ${{ github.sha }} as a second tag keeps each image addressable without changing the current pull flow.

Example
-          tags: jembi/openhim-console:latest
+          tags: |
+            jembi/openhim-console:latest
+            jembi/openhim-console:${{ github.sha }}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/master.yml at line 42, The workflow currently only pushes
the Docker tag "jembi/openhim-console:latest"; add an immutable tag using the
commit SHA so images are addressable and rollbacks are possible by including a
second tag like "jembi/openhim-console:${{ github.sha }}" alongside the existing
tags configuration in the jobs that define tags (the existing tags entry should
list both jembi/openhim-console:latest and jembi/openhim-console:${{ github.sha
}}).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/master.yml:
- Line 16: The workflow defines an unused matrix entry "node-version" but never
references it; either remove the node-version matrix key from the GitHub Actions
workflow or update the Dockerfile and workflow to use the matrix value. To fix:
if you want to keep the matrix, change the Dockerfile FROM line from "FROM
node:18-alpine" to a supported image (e.g., node:24-alpine) and add a setup step
or interpolation that uses "${{ matrix.node-version }}" (or reference the matrix
when building the Docker image) so the matrix is actually used; otherwise simply
delete the "node-version" matrix entry from the workflow to remove the unused
configuration. Ensure you update any CI steps that build the image or reference
node to use the same node version symbol ("node-version" / FROM node:<version>)
so they remain consistent.

---

Nitpick comments:
In @.github/workflows/master.yml:
- Line 42: The workflow currently only pushes the Docker tag
"jembi/openhim-console:latest"; add an immutable tag using the commit SHA so
images are addressable and rollbacks are possible by including a second tag like
"jembi/openhim-console:${{ github.sha }}" alongside the existing tags
configuration in the jobs that define tags (the existing tags entry should list
both jembi/openhim-console:latest and jembi/openhim-console:${{ github.sha }}).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: c934e40b-bf88-46c0-8e5f-b51fda101703

📥 Commits

Reviewing files that changed from the base of the PR and between e97f156 and 06524d6.

📒 Files selected for processing (1)
  • .github/workflows/master.yml

strategy:
matrix:
node-version: [14.x]
node-version: [18.x]
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify that the matrix value is unused and the image build still pins Node 18.
rg -nC2 'node-version|matrix\.node-version|setup-node' .github/workflows/master.yml
sed -n '1,5p' Dockerfile

Repository: jembi/openhim-console

Length of output: 230


Remove the unused matrix entry or add the corresponding Dockerfile update.

The node-version matrix on Line 16 is declared but never referenced in the workflow (no ${{ matrix.node-version }} or setup-node step exists). The build still uses FROM node:18-alpine from the Dockerfile, which is EOL. Either remove this unused matrix configuration or, if the intent is to upgrade Node, update the Dockerfile to a supported version (e.g., 24.x) and wire it into the workflow.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/master.yml at line 16, The workflow defines an unused
matrix entry "node-version" but never references it; either remove the
node-version matrix key from the GitHub Actions workflow or update the
Dockerfile and workflow to use the matrix value. To fix: if you want to keep the
matrix, change the Dockerfile FROM line from "FROM node:18-alpine" to a
supported image (e.g., node:24-alpine) and add a setup step or interpolation
that uses "${{ matrix.node-version }}" (or reference the matrix when building
the Docker image) so the matrix is actually used; otherwise simply delete the
"node-version" matrix entry from the workflow to remove the unused
configuration. Ensure you update any CI steps that build the image or reference
node to use the same node version symbol ("node-version" / FROM node:<version>)
so they remain consistent.

Copy link
Copy Markdown
Collaborator

@sushantpatil1214 sushantpatil1214 left a comment

Choose a reason for hiding this comment

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

LGTM..

@drizzentic drizzentic merged commit 7ba66e0 into master Mar 12, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants