ci : move most slim jobs to self-hosted runners (#23619)
* ci : remove tag from build-self-hosted.yml * ci : slim -> self-hosted * ci : prevent heavy CPU jobs from running on fast runners * ci : prevent cmake pkg to run on dedicated fast runners * ci : try to bump 3.11 -> 3.13 * ci : move lint back to 3.11 * ci : back to 3.11 * ci : add comment about UI jobs * ci : move python requirements check to CPU runners this job is a bit slow for a dedicated "fast" runner * ci : add self-hosted ui workflow * ci : fix UI naming * tmp to check if arm64 fast is compatible with all jobs * revert last commit
This commit is contained in:
@@ -5,17 +5,12 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux:
|
linux:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, Linux, CPU]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y build-essential tcl cmake
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
PREFIX="$(pwd)"/inst
|
PREFIX="$(pwd)"/inst
|
||||||
|
|||||||
@@ -55,24 +55,7 @@ env:
|
|||||||
LLAMA_LOG_TIMESTAMPS: 1
|
LLAMA_LOG_TIMESTAMPS: 1
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
determine-tag:
|
|
||||||
name: Determine tag name
|
|
||||||
runs-on: [self-hosted, fast]
|
|
||||||
outputs:
|
|
||||||
tag_name: ${{ steps.tag.outputs.name }}
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Determine tag name
|
|
||||||
id: tag
|
|
||||||
uses: ./.github/actions/get-tag-name
|
|
||||||
env:
|
|
||||||
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
|
|
||||||
|
|
||||||
ggml-ci-nvidia-cuda:
|
ggml-ci-nvidia-cuda:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, Linux, NVIDIA]
|
runs-on: [self-hosted, Linux, NVIDIA]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -82,14 +65,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
id: ggml-ci
|
id: ggml-ci
|
||||||
env:
|
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
nvidia-smi
|
nvidia-smi
|
||||||
GG_BUILD_CUDA=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
GG_BUILD_CUDA=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-nvidia-vulkan-cm:
|
ggml-ci-nvidia-vulkan-cm:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, Linux, NVIDIA]
|
runs-on: [self-hosted, Linux, NVIDIA]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -99,14 +79,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
id: ggml-ci
|
id: ggml-ci
|
||||||
env:
|
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
vulkaninfo --summary
|
vulkaninfo --summary
|
||||||
GG_BUILD_VULKAN=1 GGML_VK_DISABLE_COOPMAT2=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
GG_BUILD_VULKAN=1 GGML_VK_DISABLE_COOPMAT2=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-nvidia-vulkan-cm2:
|
ggml-ci-nvidia-vulkan-cm2:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, Linux, NVIDIA, COOPMAT2]
|
runs-on: [self-hosted, Linux, NVIDIA, COOPMAT2]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -116,14 +93,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
id: ggml-ci
|
id: ggml-ci
|
||||||
env:
|
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
vulkaninfo --summary
|
vulkaninfo --summary
|
||||||
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-nvidia-webgpu:
|
ggml-ci-nvidia-webgpu:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, Linux, NVIDIA, X64]
|
runs-on: [self-hosted, Linux, NVIDIA, X64]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -154,7 +128,6 @@ jobs:
|
|||||||
|
|
||||||
# TODO: provision AMX-compatible machine
|
# TODO: provision AMX-compatible machine
|
||||||
#ggml-ci-cpu-amx:
|
#ggml-ci-cpu-amx:
|
||||||
# needs: determine-tag
|
|
||||||
# runs-on: [self-hosted, Linux, CPU, AMX]
|
# runs-on: [self-hosted, Linux, CPU, AMX]
|
||||||
|
|
||||||
# steps:
|
# steps:
|
||||||
@@ -169,7 +142,6 @@ jobs:
|
|||||||
|
|
||||||
# TODO: provision AMD GPU machine
|
# TODO: provision AMD GPU machine
|
||||||
# ggml-ci-amd-vulkan:
|
# ggml-ci-amd-vulkan:
|
||||||
# needs: determine-tag
|
|
||||||
# runs-on: [self-hosted, Linux, AMD]
|
# runs-on: [self-hosted, Linux, AMD]
|
||||||
|
|
||||||
# steps:
|
# steps:
|
||||||
@@ -185,7 +157,6 @@ jobs:
|
|||||||
|
|
||||||
# TODO: provision AMD GPU machine
|
# TODO: provision AMD GPU machine
|
||||||
# ggml-ci-amd-rocm:
|
# ggml-ci-amd-rocm:
|
||||||
# needs: determine-tag
|
|
||||||
# runs-on: [self-hosted, Linux, AMD]
|
# runs-on: [self-hosted, Linux, AMD]
|
||||||
|
|
||||||
# steps:
|
# steps:
|
||||||
@@ -200,7 +171,6 @@ jobs:
|
|||||||
# GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
# GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-mac-metal:
|
ggml-ci-mac-metal:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, macOS, ARM64]
|
runs-on: [self-hosted, macOS, ARM64]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -210,13 +180,10 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
id: ggml-ci
|
id: ggml-ci
|
||||||
env:
|
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-mac-webgpu:
|
ggml-ci-mac-webgpu:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, macOS, ARM64]
|
runs-on: [self-hosted, macOS, ARM64]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -239,14 +206,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
id: ggml-ci
|
id: ggml-ci
|
||||||
env:
|
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
|
GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
|
||||||
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-mac-vulkan:
|
ggml-ci-mac-vulkan:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, macOS, ARM64]
|
runs-on: [self-hosted, macOS, ARM64]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -256,14 +220,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
id: ggml-ci
|
id: ggml-ci
|
||||||
env:
|
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
vulkaninfo --summary
|
vulkaninfo --summary
|
||||||
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-linux-intel-vulkan:
|
ggml-ci-linux-intel-vulkan:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, Linux, Intel]
|
runs-on: [self-hosted, Linux, Intel]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -275,14 +236,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
id: ggml-ci
|
id: ggml-ci
|
||||||
env:
|
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
vulkaninfo --summary
|
vulkaninfo --summary
|
||||||
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-win-intel-vulkan:
|
ggml-ci-win-intel-vulkan:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, Windows, X64, Intel]
|
runs-on: [self-hosted, Windows, X64, Intel]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -297,7 +255,6 @@ jobs:
|
|||||||
MSYSTEM: UCRT64
|
MSYSTEM: UCRT64
|
||||||
CHERE_INVOKING: 1
|
CHERE_INVOKING: 1
|
||||||
PATH: C:\msys64\ucrt64\bin;C:\msys64\usr\bin;C:\Windows\System32;${{ env.PATH }}
|
PATH: C:\msys64\ucrt64\bin;C:\msys64\usr\bin;C:\Windows\System32;${{ env.PATH }}
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
vulkaninfo --summary
|
vulkaninfo --summary
|
||||||
# Skip python related tests with GG_BUILD_LOW_PERF=1 since Windows MSYS2 UCRT64 currently fails to create
|
# Skip python related tests with GG_BUILD_LOW_PERF=1 since Windows MSYS2 UCRT64 currently fails to create
|
||||||
@@ -305,7 +262,6 @@ jobs:
|
|||||||
LLAMA_FATAL_WARNINGS=OFF GG_BUILD_NINJA=1 GG_BUILD_VULKAN=1 GG_BUILD_LOW_PERF=1 ./ci/run.sh ./results/llama.cpp ./mnt/llama.cpp
|
LLAMA_FATAL_WARNINGS=OFF GG_BUILD_NINJA=1 GG_BUILD_VULKAN=1 GG_BUILD_LOW_PERF=1 ./ci/run.sh ./results/llama.cpp ./mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-intel-openvino-gpu-low-perf:
|
ggml-ci-intel-openvino-gpu-low-perf:
|
||||||
needs: determine-tag
|
|
||||||
runs-on: [self-hosted, Linux, Intel, OpenVINO]
|
runs-on: [self-hosted, Linux, Intel, OpenVINO]
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
@@ -337,15 +293,12 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
id: ggml-ci
|
id: ggml-ci
|
||||||
env:
|
|
||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
|
||||||
run: |
|
run: |
|
||||||
source ./openvino_toolkit/setupvars.sh
|
source ./openvino_toolkit/setupvars.sh
|
||||||
GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-arm64-cpu-low-perf:
|
ggml-ci-arm64-cpu-low-perf:
|
||||||
needs: determine-tag
|
runs-on: [self-hosted, Linux, ARM64, CPU]
|
||||||
runs-on: [self-hosted, Linux, ARM64]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone
|
- name: Clone
|
||||||
@@ -358,8 +311,7 @@ jobs:
|
|||||||
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-arm64-cpu-high-perf:
|
ggml-ci-arm64-cpu-high-perf:
|
||||||
needs: determine-tag
|
runs-on: [self-hosted, Linux, ARM64, CPU]
|
||||||
runs-on: [self-hosted, Linux, ARM64]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone
|
- name: Clone
|
||||||
@@ -378,8 +330,7 @@ jobs:
|
|||||||
# if we resolve this, we should be able to offload these jobs to the self-hosted runners
|
# if we resolve this, we should be able to offload these jobs to the self-hosted runners
|
||||||
#
|
#
|
||||||
# ggml-ci-arm64-cpu-high-perf-sve:
|
# ggml-ci-arm64-cpu-high-perf-sve:
|
||||||
# needs: determine-tag
|
# runs-on: [self-hosted, Linux, ARM64, CPU]
|
||||||
# runs-on: [self-hosted, Linux, NVIDIA, ARM64]
|
|
||||||
#
|
#
|
||||||
# steps:
|
# steps:
|
||||||
# - name: Clone
|
# - name: Clone
|
||||||
@@ -392,8 +343,7 @@ jobs:
|
|||||||
# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
#
|
#
|
||||||
# ggml-ci-arm64-cpu-kleidiai:
|
# ggml-ci-arm64-cpu-kleidiai:
|
||||||
# needs: determine-tag
|
# runs-on: [self-hosted, Linux, ARM64, CPU]
|
||||||
# runs-on: [self-hosted, Linux, NVIDIA, ARM64]
|
|
||||||
#
|
#
|
||||||
# steps:
|
# steps:
|
||||||
# - name: Clone
|
# - name: Clone
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-vendor:
|
check-vendor:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, fast]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
model-naming:
|
model-naming:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, fast]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
- name: Check model naming conventions
|
- name: Check model naming conventions
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
editorconfig:
|
editorconfig:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, fast]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
- uses: editorconfig-checker/action-editorconfig-checker@840e866d93b8e032123c23bac69dece044d4d84c # v2.2.0
|
- uses: editorconfig-checker/action-editorconfig-checker@840e866d93b8e032123c23bac69dece044d4d84c # v2.2.0
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre-tokenizer-hashes:
|
pre-tokenizer-hashes:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, fast]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
python-check-requirements:
|
python-check-requirements:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, CPU, fast]
|
||||||
name: check-requirements
|
name: check-requirements
|
||||||
steps:
|
steps:
|
||||||
- name: Check out source repository
|
- name: Check out source repository
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
flake8-lint:
|
flake8-lint:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, fast]
|
||||||
name: Lint
|
name: Lint
|
||||||
steps:
|
steps:
|
||||||
- name: Check out source repository
|
- name: Check out source repository
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
python-type-check:
|
python-type-check:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, fast]
|
||||||
name: python type-check
|
name: python type-check
|
||||||
steps:
|
steps:
|
||||||
- name: Check out source repository
|
- name: Check out source repository
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build static output
|
runs-on: [self-hosted, fast]
|
||||||
runs-on: ubuntu-slim
|
|
||||||
env:
|
env:
|
||||||
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
|
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,118 @@
|
|||||||
|
name: UI (self-hosted)
|
||||||
|
|
||||||
|
# these are the same as ui.yml, but with self-hosted runners
|
||||||
|
# the runners come with pre-installed Playwright browsers version: 1.56.1
|
||||||
|
# the jobs are much lighter because they don't need to install node and playwright browsers
|
||||||
|
|
||||||
|
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.yml',
|
||||||
|
'tools/ui/**.*',
|
||||||
|
'tools/server/tests/**.*'
|
||||||
|
]
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/ui-self-hosted.yml',
|
||||||
|
'.github/workflows/ui-build.yml',
|
||||||
|
'tools/ui/**.*',
|
||||||
|
'tools/server/tests/**.*'
|
||||||
|
]
|
||||||
|
|
||||||
|
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:
|
||||||
|
ui-build:
|
||||||
|
name: Build static output
|
||||||
|
uses: ./.github/workflows/ui-build.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: 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() }}
|
||||||
|
run: npm run test:client
|
||||||
|
working-directory: tools/ui
|
||||||
|
|
||||||
|
- name: Run Unit tests
|
||||||
|
if: ${{ always() }}
|
||||||
|
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: Build application
|
||||||
|
if: ${{ always() && steps.setup.conclusion == 'success' }}
|
||||||
|
run: npm run build
|
||||||
|
working-directory: tools/ui
|
||||||
|
|
||||||
|
- name: Build Storybook
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: npm run build-storybook
|
||||||
|
working-directory: tools/ui
|
||||||
|
|
||||||
|
- name: Run UI tests
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: npm run test:ui -- --testTimeout=60000
|
||||||
|
working-directory: tools/ui
|
||||||
|
|
||||||
|
- name: Run E2E tests
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: npm run test:e2e
|
||||||
|
working-directory: tools/ui
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
name: CI (UI)
|
name: UI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@@ -11,14 +11,16 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths: [
|
paths: [
|
||||||
'.github/workflows/ui-ci.yml',
|
'.github/workflows/ui.yml',
|
||||||
|
'.github/workflows/ui-build.yml',
|
||||||
'tools/ui/**.*',
|
'tools/ui/**.*',
|
||||||
'tools/server/tests/**.*'
|
'tools/server/tests/**.*'
|
||||||
]
|
]
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, synchronize, reopened]
|
types: [opened, synchronize, reopened]
|
||||||
paths: [
|
paths: [
|
||||||
'.github/workflows/ui-ci.yml',
|
'.github/workflows/ui.yml',
|
||||||
|
'.github/workflows/ui-build.yml',
|
||||||
'tools/ui/**.*',
|
'tools/ui/**.*',
|
||||||
'tools/server/tests/**.*'
|
'tools/server/tests/**.*'
|
||||||
]
|
]
|
||||||
@@ -39,7 +41,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/ui-build.yml
|
uses: ./.github/workflows/ui-build.yml
|
||||||
|
|
||||||
ui-checks:
|
ui-checks:
|
||||||
name: UI Checks
|
name: Checks
|
||||||
needs: ui-build
|
needs: ui-build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
@@ -3,18 +3,20 @@ name: Update Operations Documentation
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
|
- '.github/workflows/update-ops-docs.yml'
|
||||||
- 'docs/ops.md'
|
- 'docs/ops.md'
|
||||||
- 'docs/ops/**'
|
- 'docs/ops/**'
|
||||||
- 'scripts/create_ops_docs.py'
|
- 'scripts/create_ops_docs.py'
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
|
- '.github/workflows/update-ops-docs.yml'
|
||||||
- 'docs/ops.md'
|
- 'docs/ops.md'
|
||||||
- 'docs/ops/**'
|
- 'docs/ops/**'
|
||||||
- 'scripts/create_ops_docs.py'
|
- 'scripts/create_ops_docs.py'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-ops-docs:
|
update-ops-docs:
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, fast, ARM64]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
|
|||||||
Reference in New Issue
Block a user