Files
cozystack/.github/workflows/ui-test.yaml
T
Andrei Kvapil 75452f36a3 ci(actions): pin third-party GitHub Actions to commit SHAs
Pin the remaining floating version tags in the build-main and ui-test
workflows to immutable commit SHAs, preserving the original tag in a
trailing comment so Renovate can keep the pins up to date.

Supply-chain hardening against tag hijacking/mutation; no functional
change — each SHA is the commit the tag currently resolves to.

Assisted-By: Claude
Signed-off-by: Andrei Kvapil <andrei.kvapil@aenix.io>
2026-07-07 11:28:53 +02:00

59 lines
1.7 KiB
YAML

name: UI Test
# Typecheck + 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/tests.
permissions:
contents: read
jobs:
test:
name: Typecheck and test
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # 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: Test
run: pnpm test