summaryrefslogtreecommitdiff
path: root/llama.cpp/.github/workflows/server-webui.yml
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-02-12 20:57:17 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-02-12 20:57:17 +0100
commitb333b06772c89d96aacb5490d6a219fba7c09cc6 (patch)
tree211df60083a5946baa2ed61d33d8121b7e251b06 /llama.cpp/.github/workflows/server-webui.yml
downloadllmnpc-b333b06772c89d96aacb5490d6a219fba7c09cc6.tar.gz
Engage!
Diffstat (limited to 'llama.cpp/.github/workflows/server-webui.yml')
-rw-r--r--llama.cpp/.github/workflows/server-webui.yml99
1 files changed, 99 insertions, 0 deletions
diff --git a/llama.cpp/.github/workflows/server-webui.yml b/llama.cpp/.github/workflows/server-webui.yml
new file mode 100644
index 0000000..94899c9
--- /dev/null
+++ b/llama.cpp/.github/workflows/server-webui.yml
@@ -0,0 +1,99 @@
+# Server WebUI build and tests
+name: Server WebUI
+
+on:
+ workflow_dispatch: # allows manual triggering
+ inputs:
+ sha:
+ description: 'Commit SHA1 to build'
+ required: false
+ type: string
+ push:
+ branches:
+ - master
+ paths: ['.github/workflows/server-webui.yml', 'tools/server/webui/**.*', 'tools/server/tests/**.*', 'tools/server/public/**']
+ pull_request:
+ types: [opened, synchronize, reopened]
+ paths: ['.github/workflows/server-webui.yml', 'tools/server/webui/**.*', 'tools/server/tests/**.*', 'tools/server/public/**']
+
+env:
+ LLAMA_LOG_COLORS: 1
+ LLAMA_LOG_PREFIX: 1
+ LLAMA_LOG_TIMESTAMPS: 1
+ LLAMA_LOG_VERBOSITY: 10
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ webui-check:
+ name: WebUI Checks
+ runs-on: ubuntu-latest
+ 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: Setup Node.js
+ id: node
+ uses: actions/setup-node@v6
+ with:
+ node-version: "22"
+ cache: "npm"
+ cache-dependency-path: "tools/server/webui/package-lock.json"
+
+ - name: Install dependencies
+ id: setup
+ if: ${{ steps.node.conclusion == 'success' }}
+ run: npm ci
+ working-directory: tools/server/webui
+
+ - name: Run type checking
+ if: ${{ always() && steps.setup.conclusion == 'success' }}
+ run: npm run check
+ working-directory: tools/server/webui
+
+ - name: Run linting
+ if: ${{ always() && steps.setup.conclusion == 'success' }}
+ run: npm run lint
+ working-directory: tools/server/webui
+
+ - name: Build application
+ if: ${{ always() && steps.setup.conclusion == 'success' }}
+ run: npm run build
+ working-directory: tools/server/webui
+
+ - name: Install Playwright browsers
+ id: playwright
+ if: ${{ always() && steps.setup.conclusion == 'success' }}
+ run: npx playwright install --with-deps
+ working-directory: tools/server/webui
+
+ - name: Build Storybook
+ if: ${{ always() && steps.playwright.conclusion == 'success' }}
+ run: npm run build-storybook
+ working-directory: tools/server/webui
+
+ - name: Run Client tests
+ if: ${{ always() && steps.playwright.conclusion == 'success' }}
+ run: npm run test:client
+ working-directory: tools/server/webui
+
+ - name: Run Unit tests
+ if: ${{ always() && steps.playwright.conclusion == 'success' }}
+ run: npm run test:unit
+ working-directory: tools/server/webui
+
+ - name: Run UI tests
+ if: ${{ always() && steps.playwright.conclusion == 'success' }}
+ run: npm run test:ui -- --testTimeout=60000
+ working-directory: tools/server/webui
+
+ - name: Run E2E tests
+ if: ${{ always() && steps.playwright.conclusion == 'success' }}
+ run: npm run test:e2e
+ working-directory: tools/server/webui