From 68a5dc66dedd53694eb18ff6944a861dd9e3861a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=AAv=C3=A3o=20Soares=20dos=20Santos?= Date: Wed, 17 Jun 2026 03:54:39 +0100 Subject: [PATCH 1/3] ci: modernize workflows (drop broken npm upgrade, bump actions, supported Node) The Linux build and BrowserStack jobs were failing at setup, before any test ran: - 'npm install -g npm' ran against the runner's system Node and failed with EACCES (mkdir /usr/local/share/man/man7). Removed the step; setup-node already provides a current npm. - actions/checkout@v2 and actions/setup-node@v2 are deprecated and the v2 cache backend started returning 'Cache service responded with 400'. Bumped both to @v4. - The Node matrix targeted EOL releases (12/14/16/17). Moved to the currently supported lines (18/20/22); the project already builds and tests cleanly on modern Node. --- .github/workflows/browserstack.yml | 11 ++++------- .github/workflows/node.linux.yml | 13 +++++-------- .github/workflows/node.win.yml | 6 +++--- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/.github/workflows/browserstack.yml b/.github/workflows/browserstack.yml index 6d77e4fa..36709b3c 100644 --- a/.github/workflows/browserstack.yml +++ b/.github/workflows/browserstack.yml @@ -16,15 +16,12 @@ jobs: run: echo "COMMIT_MSG=$(printf "%s" "${{ github.event.head_commit.message }}" | head -n 1)" >> $GITHUB_ENV - name: 'đŸ“Ļ Checkout the repository' - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: '🚚 Upgrade NPM' - run: npm install -g npm - - - name: '⚙ Setup Node.js v16.x' - uses: actions/setup-node@v2 + - name: '⚙ Setup Node.js v20.x' + uses: actions/setup-node@v4 with: - node-version: 16.x + node-version: 20.x cache: 'npm' - name: '📖 Get current package version' diff --git a/.github/workflows/node.linux.yml b/.github/workflows/node.linux.yml index 21c22806..815a744a 100644 --- a/.github/workflows/node.linux.yml +++ b/.github/workflows/node.linux.yml @@ -13,20 +13,17 @@ jobs: build: runs-on: ubuntu-latest - + strategy: matrix: - node-version: [12.x, 14.x, 16.x, 17.x] + node-version: [18.x, 20.x, 22.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - steps: - - uses: actions/checkout@v2 - - - name: 🚚 Upgrade NPM - run: npm install -g npm + steps: + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' diff --git a/.github/workflows/node.win.yml b/.github/workflows/node.win.yml index 50151739..fd4b09bd 100644 --- a/.github/workflows/node.win.yml +++ b/.github/workflows/node.win.yml @@ -16,13 +16,13 @@ jobs: strategy: matrix: - node-version: [12.x, 14.x, 16.x, 17.x] + node-version: [18.x, 20.x, 22.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' From 459cd111c7da79298e94f496c3cb7aef1a82c37a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=AAv=C3=A3o=20Soares=20dos=20Santos?= Date: Wed, 17 Jun 2026 03:57:14 +0100 Subject: [PATCH 2/3] ci(browserstack): drop invalid iOS 11 and Android 4.4 launchers BrowserStack rejects these stale configs: Can not start safari (ios 11.0): Validation Failed - os_version invalid Can not start chrome (android 4.4): Validation Failed - device invalid Remove the bstack_iphoneX and bstack_android launchers (and their entries in the browsers list) so the BrowserStack job can run. --- karma.browserstack.js | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/karma.browserstack.js b/karma.browserstack.js index 7dbe9b6e..2542e9d2 100644 --- a/karma.browserstack.js +++ b/karma.browserstack.js @@ -54,26 +54,10 @@ module.exports = function (config) { browser_version: '10.1', os: 'OS X', os_version: 'Sierra' - }, - bstack_iphoneX: { - base: 'BrowserStack', - browser: 'safari', - os: 'ios', - os_version: '11.0', - device: 'iPhone X', - real_mobile: true - }, - bstack_android: { - base: 'BrowserStack', - browser: 'chrome', - os: 'android', - os_version:'4.4', - device: 'Samsung Galaxy Tab 4', - realMobile: true } }, - browsers: ['bstack_chrome_windows', 'bstack_firefox_old_windows', 'bstack_firefox_latest_windows', /*'bstack_ie11_windows',*/ 'bstack_edge_windows', 'bstack_iphoneX', 'bstack_macos_safari', 'bstack_android'], + browsers: ['bstack_chrome_windows', 'bstack_firefox_old_windows', 'bstack_firefox_latest_windows', /*'bstack_ie11_windows',*/ 'bstack_edge_windows', 'bstack_macos_safari'], frameworks: ['mocha', 'chai'], reporters: ['dots', 'BrowserStack'], files: [ From ca36d5dd09b20f32c14eea2c05526ab5aff22609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=AAv=C3=A3o=20Soares=20dos=20Santos?= Date: Fri, 19 Jun 2026 01:10:20 +0100 Subject: [PATCH 3/3] ci: bump CodeQL and docs workflow action versions - codeql-action init/autobuild/analyze v1 -> v3 (the v1 actions run on EOL Node 12 and are being removed by GitHub). - actions/checkout v2 -> v4 (CodeQL) and v3 -> v4 (docs). --- .github/workflows/codeql-analysis.yml | 8 ++++---- .github/workflows/docs.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 18787220..78bfb3c1 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -38,11 +38,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -53,7 +53,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + uses: github/codeql-action/autobuild@v3 # â„šī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -67,4 +67,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3066b655..fb59285e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -14,7 +14,7 @@ jobs: name: Build documentation runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Trigger external build env: