Skip to content

chore(deps-dev): bump tooling from v1.26.3 to v1.26.4 (#617) #41

chore(deps-dev): bump tooling from v1.26.3 to v1.26.4 (#617)

chore(deps-dev): bump tooling from v1.26.3 to v1.26.4 (#617) #41

Workflow file for this run

name: Cross-runtime
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
# Runs the real test suite on non-Node runtimes. Bun uses its built-in
# jest-compatible runner; Deno runs the actual jest via its Node compatibility.
# The browser job bundles the core resolver for the browser and runs it both in
# a web-globals sandbox and in real headless Chromium (the Node-based jest suite
# cannot run in a browser).
jobs:
bun:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Use Bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest
- name: Install dependencies
run: bun install
env:
HUSKY: "0"
- name: Run tests
run: bun test test/
deno:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Use Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: npm ci
env:
HUSKY: "0"
# jest is no longer a project dev-dep (the Node.js test runner is used
# instead), so install it ad-hoc just for this job. The bridge shim
# (`test/_runner.js`) adapts the suite to jest's globals exactly as it
# does on the legacy-test matrix.
- name: Install jest
run: npm install --no-save --no-package-lock --no-audit jest@^30
- name: Use Deno
uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.4
with:
deno-version: v2.x
- name: Run tests (jest via Deno node compatibility)
run: deno run -A --node-modules-dir=auto node_modules/jest/bin/jest.js
browser:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Use Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: npm ci
env:
HUSKY: "0"
# webpack bundles the core resolver for the browser as an ES module
# (experiments.outputModule), resolving the browser field and failing on
# any Node builtin that is not shimmed. First run it in a web-globals-only
# sandbox (fast, deterministic), then in real headless Chromium.
- name: Verify browser bundle in a web-globals sandbox
run: npm run test:browser
- name: Install Playwright Chromium
run: |
npm install --no-save playwright
npx playwright install --with-deps chromium
- name: Run resolver in headless Chromium
run: node test/smoke/browser-playwright.cjs