Skip to content

Update dependency js-yaml to v5.2.1 #2355

Update dependency js-yaml to v5.2.1

Update dependency js-yaml to v5.2.1 #2355

Workflow file for this run

name: Test
on: [push, pull_request]
permissions: read-all
concurrency:
group: ${{ github.ref_name }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
test:
# Skip push runs for feature branches; pull_request will cover them
if: github.event_name != 'push' || github.ref_name == github.event.repository.default_branch
strategy:
fail-fast: false
# Curated matrix (instead of the full node x java x os product) to keep CI fast
# while preserving meaningful coverage:
# - Linux runs all 4 JDKs, including the out-of-range 11 & 25 that exercise
# java-caller's JRE auto-download path (the path most sensitive to java-caller bumps).
# - Both supported Node versions (22 & 24) are covered.
# - macOS and Windows each get one representative in-range JDK leg.
# - Windows skips out-of-range JDKs (11 & 25): the JRE auto-download spawn fails there
# (ENOENT under node 24) and hangs the suite.
# NOTE: this is a pure `include` list with NO base matrix dimensions. A base
# dimension (e.g. `java_distrib: [temurin]`) would make GitHub merge every include
# entry into that single combination (last-one-wins), collapsing all legs into ONE
# job. With include only, each entry becomes its own job.
matrix:
include:
# Linux - full JDK range on latest Node (incl. out-of-range auto-download 11 & 25)
- { os: ubuntu-latest, node_version: '24', java_version: '11', java_distrib: temurin }
- { os: ubuntu-latest, node_version: '24', java_version: '17', java_distrib: temurin }
- { os: ubuntu-latest, node_version: '24', java_version: '21', java_distrib: temurin }
- { os: ubuntu-latest, node_version: '24', java_version: '25', java_distrib: temurin }
# Linux - older supported Node on the baseline JDK
- { os: ubuntu-latest, node_version: '22', java_version: '17', java_distrib: temurin }
# macOS - one representative in-range leg
- { os: macos-latest, node_version: '24', java_version: '21', java_distrib: temurin }
# Windows - in-range JDKs only, one per supported Node version
- { os: windows-latest, node_version: '24', java_version: '17', java_distrib: temurin }
- { os: windows-latest, node_version: '22', java_version: '21', java_distrib: temurin }
# Explicit name so each curated leg shows as a distinct, readable check
name: Test (${{ matrix.os }}, node ${{ matrix.node_version }}, jdk ${{ matrix.java_version }})
runs-on: ${{ matrix.os }}
timeout-minutes: 15
steps:
- name: Checkout Code
uses: actions/checkout@v7
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node_version }}
- name: Install Java
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.java_distrib }}
java-version: ${{ matrix.java_version }}
- name: Install dependencies and link
run: npm ci && npm link
- name: Run tests
run: npm run test
coverage:
if: github.event_name != 'push' || github.ref_name == github.event.repository.default_branch
name: Test - No Java - CodeCov
strategy:
matrix:
debian_version: [bookworm]
node_version: ['24']
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
container:
image: "node:${{ matrix.node_version }}-${{ matrix.debian_version }}"
timeout-minutes: 15
steps:
- name: Checkout Code
uses: actions/checkout@v7
- name: Install dependencies and link
run: npm ci && npm link
- name: Run tests
run: npm run test:coverage
# - name: Build coverage report
# run: ./node_modules/.bin/nyc report --reporter text-lcov > coverage.lcov
# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v4
# with:
# fail_ci_if_error: true
# verbose: true
# token: ${{ secrets.CODECOV_TOKEN }} # required