You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
11 workflows in `.github/workflows/` target `runs-on: [self-hosted, ...]` and fire on `pull_request` / `push`, but the named runner labels don't exist in this fork's runner pool. The runs land in QUEUED state and never complete.
Workflow
Runner label
PR-trigger paths
Frequency
python-lint.yml
`[self-hosted, fast]`
`**/*.py`
high
python-type-check.yml
`[self-hosted, fast]`
`**/*.py`
high
editorconfig.yml
`[self-hosted, fast]`
(branches: master)
low
code-style.yml
`[self-hosted, fast]`
(need to check)
mid
python-check-requirements.yml
`[self-hosted, CPU, fast]`
requirements/**
low
check-vendor.yml
`[self-hosted, fast]`
vendor/**
low
pre-tokenizer-hashes.yml
`[self-hosted, fast]`
conversion/base.py + 1
very low
update-ops-docs.yml
`[self-hosted, fast, ARM64]`
docs/ops/**
very low
build-openvino.yml
`[self-hosted, Linux, Intel, OpenVINO]`
ggml/src/ggml-openvino/**
low
build-self-hosted.yml
`[self-hosted, Linux, NVIDIA]`
CMakeLists, .h, .c, .cpp
high
server-self-hosted.yml
`[self-hosted, llama-server, macOS, ARM64]`
tools/server/**
high
ui-self-hosted.yml
`[self-hosted, PLAYWRIGHT]`
tools/ui/, tools/server/tests/
mid
`gh run list --status queued` confirms recent PRs all carry one or more of these as perpetually-pending checks. Cosmetic on the PR status panel; never breaks merges (queued != failed) but contributes to "UNSTABLE" mergeStateStatus on every PR.
Options (each could apply per-workflow)
A. Drop auto-triggers, keep workflow_dispatch. Same pattern as PR #74 (build-sycl) and PR #80 (build-cann). Quick and reversible. Loses CI coverage entirely until runners are provisioned.
B. Convert to `ubuntu-latest`. Works trivially for the lint workflows (flake8, editorconfig, type-check, requirements-check). Restores actual coverage. Costs github-hosted minutes. NOT viable for OpenVINO/NVIDIA/Playwright/ARM64-specific jobs.
C. Provision the runners. Out of my scope. Probably the right answer for the heavy ones (NVIDIA, OpenVINO) eventually.
Recommended split
`python-lint`, `python-type-check`, `editorconfig`, `code-style`, `python-check-requirements`, `check-vendor`, `pre-tokenizer-hashes` → option B (ubuntu-latest, real coverage)
`build-openvino`, `build-self-hosted` (NVIDIA), `server-self-hosted` (macOS-ARM64), `ui-self-hosted` (Playwright), `update-ops-docs` (ARM64) → option A until runners exist
Findings (epoch #81 CI audit round 2)
11 workflows in `.github/workflows/` target `runs-on: [self-hosted, ...]` and fire on `pull_request` / `push`, but the named runner labels don't exist in this fork's runner pool. The runs land in QUEUED state and never complete.
`gh run list --status queued` confirms recent PRs all carry one or more of these as perpetually-pending checks. Cosmetic on the PR status panel; never breaks merges (queued != failed) but contributes to "UNSTABLE" mergeStateStatus on every PR.
Options (each could apply per-workflow)
A. Drop auto-triggers, keep workflow_dispatch. Same pattern as PR #74 (build-sycl) and PR #80 (build-cann). Quick and reversible. Loses CI coverage entirely until runners are provisioned.
B. Convert to `ubuntu-latest`. Works trivially for the lint workflows (flake8, editorconfig, type-check, requirements-check). Restores actual coverage. Costs github-hosted minutes. NOT viable for OpenVINO/NVIDIA/Playwright/ARM64-specific jobs.
C. Provision the runners. Out of my scope. Probably the right answer for the heavy ones (NVIDIA, OpenVINO) eventually.
Recommended split
Awaiting Markus's call on which path to take per workflow. Will implement once direction is set.