mirror of
https://github.com/mulgadc/spinifex.git
synced 2026-10-15 17:11:30 +00:00
044d7af85e
TanStack router-plugin <1.168.21 sorted routes by coercing route nodes to strings, so output order followed filesystem-walk order and flipped depending on which generator version a contributor's node_modules resolved. Pin the version so it cannot drift, commit the sorted output from the fixed generator, and fail CI if a build produces a different route tree than the one committed.
63 lines
1.4 KiB
YAML
63 lines
1.4 KiB
YAML
name: UI Build and Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- dev
|
|
paths:
|
|
- spinifex/services/spinifexui/frontend/**
|
|
- .github/workflows/ui.yml
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- dev
|
|
paths:
|
|
- spinifex/services/spinifexui/frontend/**
|
|
- .github/workflows/ui.yml
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
ui_build_and_test:
|
|
name: UI Build and Test
|
|
runs-on: ubuntu-26.04
|
|
defaults:
|
|
run:
|
|
working-directory: spinifex/services/spinifexui/frontend
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v7
|
|
with:
|
|
sparse-checkout: spinifex/services/spinifexui/frontend
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v6
|
|
with:
|
|
package_json_file: spinifex/services/spinifexui/frontend/package.json
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v7
|
|
with:
|
|
cache: "pnpm"
|
|
cache-dependency-path: spinifex/services/spinifexui/frontend/pnpm-lock.yaml
|
|
node-version-file: spinifex/services/spinifexui/frontend/.nvmrc
|
|
|
|
- name: Install Dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Run Lint
|
|
run: pnpm lint
|
|
|
|
- name: Run Tests with Coverage
|
|
run: pnpm test:coverage
|
|
|
|
- name: Build Frontend
|
|
run: pnpm build
|
|
|
|
- name: Check for generated route tree drift
|
|
run: git diff --exit-code -- src/routeTree.gen.ts
|