09a3d3ab17
Check Pre-Tokenizer Hashes / pre-tokenizer-hashes (push) Waiting to run
Python check requirements.txt / check-requirements (push) Waiting to run
Python Type-Check / python type-check (push) Waiting to run
Update Operations Documentation / update-ops-docs (push) Waiting to run
Copilot Setup Steps / copilot-setup-steps (push) Failing after 2s
126 lines
3.5 KiB
YAML
126 lines
3.5 KiB
YAML
name: UI (self-hosted)
|
|
|
|
# these are the same as ui.yml, but with self-hosted runners
|
|
# the jobs are lighter because they don't need to install Node.js or Playwright browsers
|
|
# the runner has pre-installed Playwright browsers for @playwright/test (1.56.1) at /ms-playwright/
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
sha:
|
|
description: 'Commit SHA1 to build'
|
|
required: false
|
|
type: string
|
|
push:
|
|
branches:
|
|
- master
|
|
paths: [
|
|
'.github/workflows/ui-self-hosted.yml',
|
|
'.github/workflows/ui-build-self-hosted.yml',
|
|
'tools/ui/**.*',
|
|
'tools/server/tests/**.*'
|
|
]
|
|
pull_request:
|
|
types: [opened, synchronize, reopened]
|
|
paths: [
|
|
'.github/workflows/ui-self-hosted.yml',
|
|
'.github/workflows/ui-build-self-hosted.yml',
|
|
'tools/ui/**.*',
|
|
'tools/server/tests/**.*'
|
|
]
|
|
|
|
env:
|
|
LLAMA_ARG_LOG_COLORS: 1
|
|
LLAMA_ARG_LOG_PREFIX: 1
|
|
LLAMA_ARG_LOG_TIMESTAMPS: 1
|
|
LLAMA_ARG_LOG_VERBOSITY: 10
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
ui-build:
|
|
name: Build static output
|
|
uses: ./.github/workflows/ui-build-self-hosted.yml
|
|
|
|
ui-checks:
|
|
name: Checks
|
|
needs: ui-build
|
|
runs-on: [self-hosted, PLAYWRIGHT]
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }}
|
|
|
|
- name: Install dependencies
|
|
id: setup
|
|
run: npm ci
|
|
working-directory: tools/ui
|
|
|
|
- name: Download built UI artifacts
|
|
uses: actions/download-artifact@v6
|
|
with:
|
|
name: ui-build
|
|
path: tools/ui/dist/
|
|
|
|
- name: Run type checking
|
|
if: ${{ always() && steps.setup.conclusion == 'success' }}
|
|
run: npm run check
|
|
working-directory: tools/ui
|
|
|
|
- name: Run linting
|
|
if: ${{ always() && steps.setup.conclusion == 'success' }}
|
|
run: npm run lint
|
|
working-directory: tools/ui
|
|
|
|
- name: Run Client tests
|
|
if: ${{ always() && steps.setup.conclusion == 'success' }}
|
|
run: npm run test:client
|
|
working-directory: tools/ui
|
|
|
|
- name: Run Unit tests
|
|
if: ${{ always() && steps.setup.conclusion == 'success' }}
|
|
run: npm run test:unit
|
|
working-directory: tools/ui
|
|
|
|
e2e-tests:
|
|
name: E2E Tests
|
|
needs: ui-build
|
|
runs-on: [self-hosted, PLAYWRIGHT]
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }}
|
|
|
|
- name: Install dependencies
|
|
id: setup
|
|
run: npm ci
|
|
working-directory: tools/ui
|
|
|
|
- name: Download built UI artifacts
|
|
uses: actions/download-artifact@v6
|
|
with:
|
|
name: ui-build
|
|
path: tools/ui/dist/
|
|
|
|
- name: Build Storybook
|
|
if: ${{ always() && steps.setup.conclusion == 'success' }}
|
|
run: npm run build-storybook
|
|
working-directory: tools/ui
|
|
|
|
- name: Run UI tests
|
|
if: ${{ always() && steps.setup.conclusion == 'success' }}
|
|
run: npm run test:ui -- --testTimeout=60000
|
|
working-directory: tools/ui
|
|
|
|
- name: Run E2E tests
|
|
if: ${{ always() && steps.setup.conclusion == 'success' }}
|
|
run: npm run test:e2e
|
|
working-directory: tools/ui
|