Testing: The PR includes a comprehensive suite of unit tests in the /test/ directory, which covers the new Node.js logic well.
Improvement: The refactor significantly improves maintainability and testability by replacing complex Bash scripts with modular Node.js files. The use of node:child_process and node:fs keeps the action zero-dependency, which is excellent.
Nitpick: Ensure that the lib/ directory contents are considered when managing future updates to the action, as this adds complexity compared to a single action.yaml script block.
Overall, the refactoring is high-quality and correctly implements the transition from shell to Node.js.
**Summary**
* **Critical:** None.
* **Testing:** The PR includes a comprehensive suite of unit tests in the `/test/` directory, which covers the new Node.js logic well.
* **Improvement:** The refactor significantly improves maintainability and testability by replacing complex Bash scripts with modular Node.js files. The use of `node:child_process` and `node:fs` keeps the action zero-dependency, which is excellent.
* **Nitpick:** Ensure that the `lib/` directory contents are considered when managing future updates to the action, as this adds complexity compared to a single `action.yaml` script block.
Overall, the refactoring is high-quality and correctly implements the transition from shell to Node.js.
Testing: The PR includes a comprehensive suite of unit tests in the /test/ directory, which covers the new Node.js logic well.
Improvement: The refactor significantly improves maintainability and testability by replacing complex Bash scripts with modular Node.js files. The use of node:child_process and node:fs keeps the action zero-dependency, which is excellent.
Nitpick: Ensure that the lib/ directory contents are considered when managing future updates to the action, as this adds complexity compared to a single action.yaml script block.
The refactor is high-quality and correctly implements the transition from shell to Node.js, maintaining zero-dependency status while significantly improving testability and robustness. I am approving this PR.
**Summary**
* **Critical:** None.
* **Testing:** The PR includes a comprehensive suite of unit tests in the `/test/` directory, which covers the new Node.js logic well.
* **Improvement:** The refactor significantly improves maintainability and testability by replacing complex Bash scripts with modular Node.js files. The use of `node:child_process` and `node:fs` keeps the action zero-dependency, which is excellent.
* **Nitpick:** Ensure that the `lib/` directory contents are considered when managing future updates to the action, as this adds complexity compared to a single `action.yaml` script block.
The refactor is high-quality and correctly implements the transition from shell to Node.js, maintaining zero-dependency status while significantly improving testability and robustness. I am approving this PR.
Philipp
scheduled this pull request to auto merge when all checks succeed 2026-09-15 00:49:14 +02:00
Philipp
merged commit 17e5dab1b2 into main2026-09-15 00:51:18 +02:00
Philipp
deleted branch feat-bash-to-js-refactor2026-09-15 00:51:18 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Replaces ~450 lines of complex bash scripting in
action.yamlwith modular, zero-dependency Node.js modules, covered by 26 native unit tests.Why?
node:test.fs,path,crypto,child_process,os). Nonode_modules, nonpm install.actions/cachestays inaction.yamlas a native step.Modules Added (
lib/)platforms.jsdistro.jsos_name/os_version)verifier.jsdiagnostics.jsinstall-trivy.jsextract-sboms.jsscan-sboms.jsTests Added (
test/)26/26 tests pass via
node --test(auto-discovered, same command as CI).action.yamlChange554 lines -> 107 lines. Inputs bridged via
INPUT_*env vars.599b74ef49to77357f0c3fSummary
/test/directory, which covers the new Node.js logic well.node:child_processandnode:fskeeps the action zero-dependency, which is excellent.lib/directory contents are considered when managing future updates to the action, as this adds complexity compared to a singleaction.yamlscript block.Overall, the refactoring is high-quality and correctly implements the transition from shell to Node.js.
Summary
/test/directory, which covers the new Node.js logic well.node:child_processandnode:fskeeps the action zero-dependency, which is excellent.lib/directory contents are considered when managing future updates to the action, as this adds complexity compared to a singleaction.yamlscript block.The refactor is high-quality and correctly implements the transition from shell to Node.js, maintaining zero-dependency status while significantly improving testability and robustness. I am approving this PR.