[PR #12309] [MERGED] github: improvements for node drift wf #10128

Closed
opened 2026-02-26 17:33:07 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/community-scripts/ProxmoxVE/pull/12309
Author: @MickLesk
Created: 2/25/2026
Status: Merged
Merged: 2/25/2026
Merged by: @michelroegl-brunner

Base: mainHead: fix/node-drift-workflow-improvements


📝 Commits (3)

  • e7e78ae fix(workflow): improve Node.js version drift detection accuracy
  • daaf1e0 fix typos in node_version
  • a3b8312 runs on vps

📊 Changes

6 files changed (+137 additions, -22 deletions)

View changed files

📝 .github/workflows/check-node-versions.yml (+132 -17)
📝 ct/joplin-server.sh (+1 -1)
📝 ct/zigbee2mqtt.sh (+1 -1)
📝 install/convertx-install.sh (+1 -1)
📝 install/joplin-server-install.sh (+1 -1)
📝 install/pve-scripts-local-install.sh (+1 -1)

📄 Description

✍️ Description

  1. Fix source URL regex: now captures 'Github: https://github.com/...'
    pattern (pipe-separated), not just '# Source: https://github.com/...'
    This was causing ~50 scripts to show 'No GitHub source'

  2. Fix semver comparison: engines.node constraints like '>=18.0.0'
    no longer flag version 22 as drift. >= and ^ constraints are now
    properly evaluated (our_version >= min_major = satisfied)

  3. Add fallback detection: when no Dockerfile or engines.node is found,
    check .nvmrc and .node-version files for Node version hints

  4. Add subdirectory search: Dockerfile and package.json are now found
    via GitHub API tree search, not just in repo root

  5. Use GitHub API to detect default branch instead of guessing
    main/master/dev with multiple HEAD requests

Fixes #

Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/community-scripts/ProxmoxVE/pull/12309 **Author:** [@MickLesk](https://github.com/MickLesk) **Created:** 2/25/2026 **Status:** ✅ Merged **Merged:** 2/25/2026 **Merged by:** [@michelroegl-brunner](https://github.com/michelroegl-brunner) **Base:** `main` ← **Head:** `fix/node-drift-workflow-improvements` --- ### 📝 Commits (3) - [`e7e78ae`](https://github.com/community-scripts/ProxmoxVE/commit/e7e78ae35d2fb6c82437a2a665551ab2c649ebef) fix(workflow): improve Node.js version drift detection accuracy - [`daaf1e0`](https://github.com/community-scripts/ProxmoxVE/commit/daaf1e09f60070cfee8824f3c30d050255d907a4) fix typos in node_version - [`a3b8312`](https://github.com/community-scripts/ProxmoxVE/commit/a3b8312dee2bb77f2078039e8de4dd50dcc6a09a) runs on vps ### 📊 Changes **6 files changed** (+137 additions, -22 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/check-node-versions.yml` (+132 -17) 📝 `ct/joplin-server.sh` (+1 -1) 📝 `ct/zigbee2mqtt.sh` (+1 -1) 📝 `install/convertx-install.sh` (+1 -1) 📝 `install/joplin-server-install.sh` (+1 -1) 📝 `install/pve-scripts-local-install.sh` (+1 -1) </details> ### 📄 Description <!--🛑 New scripts must be submitted to [ProxmoxVED](https://github.com/community-scripts/ProxmoxVED) for testing. PRs without prior testing will be closed. --> ## ✍️ Description 1. Fix source URL regex: now captures 'Github: https://github.com/...' pattern (pipe-separated), not just '# Source: https://github.com/...' This was causing ~50 scripts to show 'No GitHub source' 2. Fix semver comparison: engines.node constraints like '>=18.0.0' no longer flag version 22 as drift. >= and ^ constraints are now properly evaluated (our_version >= min_major = satisfied) 3. Add fallback detection: when no Dockerfile or engines.node is found, check .nvmrc and .node-version files for Node version hints 4. Add subdirectory search: Dockerfile and package.json are now found via GitHub API tree search, not just in repo root 5. Use GitHub API to detect default branch instead of guessing main/master/dev with multiple HEAD requests ## 🔗 Related Issue Fixes # ## ✅ Prerequisites (**X** in brackets) - [x] **Self-review completed** – Code follows project standards. - [x] **Tested thoroughly** – Changes work as expected. - [x] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues. --- ## 🛠️ Type of Change (**X** in brackets) - [ ] 🐞 **Bug fix** – Resolves an issue without breaking functionality. - [ ] ✨ **New feature** – Adds new, non-breaking functionality. - [ ] 💥 **Breaking change** – Alters existing functionality in a way that may require updates. - [ ] 🆕 **New script** – A fully functional and tested script or script set. - [ ] 🌍 **Website update** – Changes to website-related JSON files or metadata. - [x] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality. - [ ] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 17:33:07 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ProxmoxVE#10128
No description provided.