Skip to content

AIQ UI polish + bug fix - final #85

AIQ UI polish + bug fix - final

AIQ UI polish + bug fix - final #85

Workflow file for this run

name: AIQ UI CI
on:
pull_request:
branches:
- develop
paths:
- "frontends/ui/**"
- ".github/workflows/ui.yml"
push:
branches:
- develop
paths:
- "frontends/ui/**"
- ".github/workflows/ui.yml"
permissions:
contents: read
concurrency:
group: aiq-ui-${{ github.ref }}
cancel-in-progress: true
jobs:
install:
name: Install Dependencies
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontends/ui
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: frontends/ui/package-lock.json
- name: Install dependencies
run: npm ci
lint:
name: UI Lint
runs-on: ubuntu-latest
needs: install
defaults:
run:
working-directory: frontends/ui
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: frontends/ui/package-lock.json
- name: Install dependencies
run: npm ci
- name: Run lint
run: npm run lint
type-check:
name: UI Type Check
runs-on: ubuntu-latest
needs: install
defaults:
run:
working-directory: frontends/ui
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: frontends/ui/package-lock.json
- name: Install dependencies
run: npm ci
- name: Run type-check
run: npm run type-check
unit-test:
name: UI Unit Tests
runs-on: ubuntu-latest
needs: install
defaults:
run:
working-directory: frontends/ui
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: frontends/ui/package-lock.json
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm run test:ci
- name: Upload UI coverage artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: ui-coverage
path: frontends/ui/coverage/
retention-days: 7
build:
name: UI Build
runs-on: ubuntu-latest
needs:
- lint
- type-check
- unit-test
defaults:
run:
working-directory: frontends/ui
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: frontends/ui/package-lock.json
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Upload UI build artifact
uses: actions/upload-artifact@v4
with:
name: ui-next-build
path: frontends/ui/.next/
retention-days: 7