Files
cozystack/.github/workflows/ui-test.yaml
Aleksei Sviridkin f32e0693c1 ci(dashboard): run the console's eslint in the UI test job
The console defines a lint script next to typecheck and test, but no
workflow ran it, so new findings landed unseen next to the old ones.
The backlog is cleared down to three react-hooks/exhaustive-deps
warnings. eslint exits zero on warnings alone, so the lint script caps
them at that count: the step gates from its first run, and a new
warning fails it.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
2026-10-03 01:43:09 +03:00

62 lines
1.8 KiB
YAML

name: UI Test
# Typecheck, lint and unit tests for the in-tree console SPA
# (packages/system/dashboard/images/console, vendored from cozystack-ui).
# The container image itself is built by `make build` in the main build job.
on:
push:
branches:
- main
paths:
- 'packages/system/dashboard/images/console/**'
pull_request:
paths:
- 'packages/system/dashboard/images/console/**'
defaults:
run:
working-directory: packages/system/dashboard/images/console
# Read-only token; this workflow only checks out code and runs typecheck/lint/tests.
permissions:
contents: read
jobs:
test:
name: Typecheck and test
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
# No git pushes from this workflow; don't leave the token in .git/config
# where a later `pnpm install` step could read it.
persist-credentials: false
- name: Set up pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
# The monorepo root has no package.json; read the pnpm version from
# the console workspace manifest (packageManager field).
package_json_file: packages/system/dashboard/images/console/package.json
- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 22
cache: pnpm
cache-dependency-path: packages/system/dashboard/images/console/pnpm-lock.yaml
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Typecheck
run: pnpm typecheck
- name: Lint
run: pnpm lint
- name: Test
run: pnpm test