Skip to content

docs: record 3.1.0 in the changelog #411

docs: record 3.1.0 in the changelog

docs: record 3.1.0 in the changelog #411

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
# =============================================================================
# Lint and test (runs on all events)
# =============================================================================
lint:
name: Lint, test & build
runs-on: ubuntu-latest
defaults:
run:
working-directory: input_viewer_electron
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4
# Node 24 is the active LTS. Node 20 is EOL and was below electron's own
# floor (>= 22.12.0), which made `npm ci` emit EBADENGINE warnings for
# electron and its tooling; 24 clears those and unblocks jsdom 30.
# Keep this in step with release.yml.
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: '24'
cache: 'npm'
cache-dependency-path: input_viewer_electron/package-lock.json
- name: Install dependencies
run: npm ci
# vitest is installed transiently so the committed package-lock.json
# stays in sync for `npm ci` (used by the release workflow).
- name: Add test runner
run: npm install --no-save vitest@^4
# The github-actions reporter annotates failures inline on the diff, so a
# red run points at the failing line instead of needing a log dig. The
# junit file backs the summary step below.
- name: Unit tests
run: npm test -- --reporter=default --reporter=github-actions --reporter=junit --outputFile=junit.xml
# Runs even on failure: the counts are most useful when something broke.
# A jsdom worker that cannot start reports as an unhandled error rather
# than a failing test, and that is exactly the case this makes visible.
- name: Test summary
if: always()
run: node scripts/test-summary.mjs junit.xml >> "$GITHUB_STEP_SUMMARY"
# ESLint (flat config in eslint.config.mjs). Correctness-focused, not a
# formatter -- it catches unused/undefined identifiers and eval-likes
# rather than restyling the codebase.
- name: Lint
run: npm run lint
- name: Build app
run: npm run build