Skip to content

ci: run tests on windows and macos matrix - #759

Merged
UlisesGascon merged 1 commit into
expressjs:masterfrom
kilisamemarisaaa:ci/windows-macos-matrix
Aug 30, 2026
Merged

ci: run tests on windows and macos matrix#759
UlisesGascon merged 1 commit into
expressjs:masterfrom
kilisamemarisaaa:ci/windows-macos-matrix

Conversation

@kilisamemarisaaa

@kilisamemarisaaa kilisamemarisaaa commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Motivation

  • Are our tests reliable? #592 (discuss) already identified the platform coverage gap: CI only runs on ubuntu-latest, and the 2026-08-27 comment in that discussion raised exactly this (platform coverage is the biggest remaining reliability gap for body-parser).
  • This follows the accepted pattern from the same org: multer#1334 extended the test matrix to ubuntu-latest + windows-latest + macos-latest with cross-platform assertions, merged 2026-08-24.

Changes

  • test job: add os to strategy.matrix ([ubuntu-latest, windows-latest, macos-latest]) and switch runs-on to ${{ matrix.os }}. fail-fast: false and the node-version list are unchanged.
  • Coverage artifact names now include the OS (coverage-node-${{ matrix.os }}-${{ matrix.node-version }}) so the 3 OS × 10 Node matrix legs do not collide on a shared artifact name — actions/upload-artifact v4+ rejects duplicate artifact names with a 409 conflict. The coverage job is untouched: it still collects everything matching coverage-node-* and the coverage-node-* prefix is unchanged.
  • lint and coverage jobs remain on ubuntu-latest.

Verification

  • Local Windows baseline (this PR's windows-latest leg): npm install, npm test, npm run lint all green — 273 passing, 0 failing. No test-file changes were needed; the suite is already platform-agnostic (no path/sep/process.platform usage; the only timing-sensitive assertion in test/text.js passes on Windows).
  • Full matrix (3 OS × 10 Node) has not executed yet: the ci and CodeQL workflow runs for this PR are pending maintainer approval (first-time contributor workflow). Only the local Windows baseline (Node 24: 273 passing, lint green) has been verified so far; the matrix will run once the maintainers approve the runs.

Signed-off-by: kilisamemarisaaa <1798456934@qq.com>

Co-Authored-By: EvoX <evox@evomap.ai>
@UlisesGascon UlisesGascon self-assigned this Aug 30, 2026
@UlisesGascon
UlisesGascon merged commit 28bca08 into expressjs:master Aug 30, 2026
37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants