Skip to content

fix(ci)!: refresh security and build workflows - #59

Open
elkampu wants to merge 3 commits into
finos:mainfrom
elkampu:fix/refresh-security-workflows
Open

fix(ci)!: refresh security and build workflows#59
elkampu wants to merge 3 commits into
finos:mainfrom
elkampu:fix/refresh-security-workflows

Conversation

@elkampu

@elkampu elkampu commented Aug 27, 2026

Copy link
Copy Markdown

Summary

  • refresh the .NET and Node build/release workflows to supported runtimes
  • pin reusable actions to immutable commit SHAs and apply least-privilege workflow permissions
  • replace the unauthenticated AuditJS scan with npm audit, add scheduled/manual dependency scans, and align the .NET scan with FINOS's cve-scanning.yml convention
  • update @microsoft/signalr to 10.0.11 so the JavaScript client's production dependency audit is clean, then remove the obsolete advisory allow-list
  • declare Node.js 22 as the JavaScript client's minimum runtime and test the supported Node.js 22 and 24 LTS lines
  • prevent the write-scoped Doxygen checkout credential from being persisted into the workspace and broaden the .NET vulnerability scan triggers to dependency-control files

Compatibility

This changes the JavaScript client's declared minimum runtime from Node.js 10 to Node.js 22. Node.js 10 has long been end-of-life, Node.js 20 reached end-of-life in March 2026, and the updated CI matrix now covers the supported Node.js 22 and 24 LTS releases. The follow-up commit carries a BREAKING CHANGE footer so semantic-release does not present the dropped runtime support as a patch-only change.

Validation

  • actionlint .github/workflows/*.yml
  • .NET 10 build and tests (18 tests passed)
  • JavaScript client on Node.js 22.23.2: npm ci, npm run lint, npm run build
  • production dependency scan: npm ci --omit dev, npm audit --omit dev --audit-level high (0 vulnerabilities)
  • node-license-validator with the repository's existing allow-list (passed)
  • git diff --check

The JavaScript project currently has no runnable tests; Jest exits with No tests found. Its legacy TSDX development toolchain also still has audit findings, while the shipped production dependency tree is clean. Those development-tooling findings are intentionally kept separate from this focused workflow/security update and are tracked in #60.

Closes #58

Signed-off-by: el kampu <11272320+elkampu@users.noreply.github.com>
@linux-foundation-easycla

linux-foundation-easycla Bot commented Aug 27, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: elkampu / name: el kampu (a4ddf9b)

Use active Node LTS releases, avoid persisting write-scoped checkout credentials, and keep CVE scans synchronized with dependency-control files.

BREAKING CHANGE: The JavaScript client now requires Node.js 22 or newer.

Signed-off-by: el kampu <11272320+elkampu@users.noreply.github.com>
@elkampu elkampu changed the title fix(ci): refresh security and build workflows fix(ci)!: refresh security and build workflows Aug 30, 2026
@elkampu

elkampu commented Aug 30, 2026

Copy link
Copy Markdown
Author

Hi @kriswest — I have pushed a follow-up addressing the review findings: the JavaScript client now declares Node.js 22+ and CI covers the supported Node.js 22/24 LTS lines, the Doxygen workflow no longer persists its write-scoped checkout credential, the .NET vulnerability scan watches dependency-control files, and the stale allow-list path filter is removed. The runtime compatibility change is called out explicitly in the PR description and commit metadata.

I reran actionlint, the .NET build and tests (18 passed), the JavaScript lint/build on Node.js 22.23.2, the production npm audit (0 vulnerabilities), the license check, and git diff --check locally.

EasyCLA is green. GitHub currently shows the five fork-triggered workflows for the new head as awaiting approval, and CodeQL is disabled due to inactivity. When convenient, could you approve those workflow runs, re-enable CodeQL, and review the PR? I can update the branch again if GitHub needs a new synchronization event after CodeQL is enabled. Thanks!

@kriswest kriswest left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

HI @elkampu, thanks for taking this on. It looks like the build is failing on the package-lock.json being out of sync with the package.json file. Could you run an npm install locally and check-in the result? That should resolve the issue

@elkampu

elkampu commented Sep 2, 2026

Copy link
Copy Markdown
Author

Thanks, @kriswest — fixed in 403ebd0. I regenerated package-lock.json and verified npm ci, lint, and build on Node 22.23.2 and 24.16.0.

The fork-triggered checks are awaiting approval again; could you approve them when convenient? Thanks!

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.

Review github actions against ToC recommendations and update

2 participants