--- /dev/null
+name: UI Build (self-hosted)
+
+on:
+ workflow_call:
+
+jobs:
+ build:
+ runs-on: [self-hosted, fast]
+ env:
+ BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v6
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v6
+ with:
+ node-version: "24"
+ cache: "npm"
+ cache-dependency-path: "tools/ui/package-lock.json"
+
+ - name: Install dependencies
+ run: npm ci
+ working-directory: tools/ui
+
+ - name: Build application
+ run: npm run build
+ working-directory: tools/ui
+
+ - name: Generate checksums
+ run: |
+ cd tools/ui/dist
+ for f in *; do
+ sha256sum "$f" | awk '{print $1, $2}' >> checksums.txt
+ done
+
+ - name: Upload built UI
+ uses: actions/upload-artifact@v6
+ with:
+ name: ui-build
+ path: tools/ui/dist/
+ retention-days: 1
jobs:
build:
- runs-on: [self-hosted, fast]
+ runs-on: ubuntu-slim
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
- master
paths: [
'.github/workflows/ui-self-hosted.yml',
- '.github/workflows/ui-build.yml',
+ '.github/workflows/ui-build-self-hosted.yml',
'tools/ui/**.*',
'tools/server/tests/**.*'
]
types: [opened, synchronize, reopened]
paths: [
'.github/workflows/ui-self-hosted.yml',
- '.github/workflows/ui-build.yml',
+ '.github/workflows/ui-build-self-hosted.yml',
'tools/ui/**.*',
'tools/server/tests/**.*'
]
jobs:
ui-build:
name: Build static output
- uses: ./.github/workflows/ui-build.yml
+ uses: ./.github/workflows/ui-build-self-hosted.yml
ui-checks:
name: Checks