From b9d7033724054e9bd60cc2a37058cf677b38d2a1 Mon Sep 17 00:00:00 2001 From: bbassie <17990055+bbassie@users.noreply.github.com> Date: Fri, 30 Oct 2026 20:31:57 +0000 Subject: [PATCH] Test old Node.js versions only with the latest Factorio Splitting the test jobs doubled them to 14, over GitHub's concurrent job limit together with the other jobs. Every Factorio version now runs on the latest Node.js only, and the other Node.js versions only with the latest Factorio, which is 10 test jobs. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/node.js.yml | 17 ++++++++++++----- docs/contributing.md | 3 ++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 32f9a0e5..cb033ec7 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -28,19 +28,26 @@ jobs: strategy: fail-fast: false matrix: - # Test Node.js 24 and 26 across the Factorio matrix; Node.js 22 runs coverage below. + # To stay within the concurrent job limit, every Factorio version is + # tested on the latest Node.js, and every other supported Node.js + # version only with the latest Factorio. Coverage is performed on the + # oldest supported Node.js. # Node.js release schedule: https://nodejs.org/en/about/releases/ - node-version: [24.x, 26.x] - - # Supported factorio versions are latest stable and one minor version before stable (even if from a previous major) + # Supported factorio versions are latest stable and one minor version before stable (even if from a previous major) + node-version: [26.x] factorio-version: [1.1.110, 2.0.77, 2.1.17] # The tests run in two halves of similar length on separate runners, # the clusterioctl, plugin system and instance integration tests and the rest. tests: [ctl, other] - # Coverage is performed on the older of the supported node versions include: + - node-version: 24.x + factorio-version: 2.1.17 + tests: ctl + - node-version: 24.x + factorio-version: 2.1.17 + tests: other - node-version: 22.x factorio-version: 2.1.17 tests: ctl diff --git a/docs/contributing.md b/docs/contributing.md index 5a9adfdb..a206de81 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -339,7 +339,8 @@ The format of this log should be self explanatory, please follow it carefully. P For development, use the latest Node.js LTS release, following the [installation instructions](../README.md#installation). Make sure the Node.js built-in APIs and npm packages you use remain compatible with the supported versions. -The GitHub Actions tests currently run on Node.js 24 and 26 across the Factorio matrix, with Node.js 22 used for coverage; see the [CI workflow](../.github/workflows/node.js.yml) for the version matrix. +The GitHub Actions tests run every Factorio version on the latest Node.js, and every other supported Node.js version with the latest Factorio only, which keeps the number of jobs within GitHub's concurrent job limit. +Coverage is collected on the oldest supported Node.js; see the [CI workflow](../.github/workflows/node.js.yml) for the version matrix. For Factorio, active support covers the latest stable version and the previous major version, using version lines such as 2.1, 2.0 and 1.1 as described in the [Factorio support policy](decisions.md#factorio). Older versions from 0.17 onwards receive passive support where it does not restrict actively supported versions.