Skip to content

ci: modernize workflows (fix failing Linux build & BrowserStack) - #1052

Merged
tivie merged 3 commits into
developfrom
ci/modernize-workflows
Jun 19, 2026
Merged

ci: modernize workflows (fix failing Linux build & BrowserStack)#1052
tivie merged 3 commits into
developfrom
ci/modernize-workflows

Conversation

@tivie

@tivie tivie commented Jun 17, 2026

Copy link
Copy Markdown
Member

Problem

The Node Linux CI and BrowserStack jobs have been failing at the setup stage, before any test runs:

  • 🚚 Upgrade NPM (npm install -g npm) runs against the runner's system Node and fails with EACCES: permission denied, mkdir '/usr/local/share/man/man7'.
  • actions/checkout@v2 / actions/setup-node@v2 are deprecated; the v2 cache backend returns Cache service responded with 400 (seen on build (16.x)).
  • The Node matrix targets EOL releases (12/14/16/17).
  • BrowserStack rejected two stale launchers (safari ios 11.0, chrome android 4.4).
  • CodeQL still used the deprecated @v1 actions (EOL Node 12).

Fix

  • Remove the Upgrade NPM step (Linux + BrowserStack) — setup-node already ships a current npm.
  • Bump checkout/setup-node to @v4 across Linux, Windows, BrowserStack, CodeQL and docs workflows; codeql-action/* @v1 -> @v3.
  • Modernize the Node matrix to supported LTS: 18.x, 20.x, 22.x.
  • Drop the invalid BrowserStack iOS 11 / Android 4.4 launchers.

tivie added 3 commits June 17, 2026 03:54
…rted 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.
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.
- 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).
@tivie
tivie merged commit 57a4fe1 into develop Jun 19, 2026
9 checks passed
@tivie
tivie deleted the ci/modernize-workflows branch June 19, 2026 00:41
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.

1 participant