docs: record 3.1.0 in the changelog #411
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |