Runner versions
Each agent reports a version on heartbeat. Overview shows it with optional chips.
Version chips
Overview shows the runner version with optional chips:
| Chip | Meaning |
|---|---|
| update | A newer target version is available updateAvailable. |
| deprecated | Version is in the deprecation window; tooltip may show days until blocked. |
| blocked | Unsupported — runner will not accept new workloads. |
Example in Overview
| Runner | Version | Status |
|---|---|---|
| prod-runner-1 | 2.3.1 update | CURRENT |
| dev-runner-2 | 2.2.0 deprecated | DEPRECATED |
| k8s-runner-3 | 1.9.0 blocked | BLOCKED |
| ci-runner-4 | 2.3.1 | CURRENT |
| win-runner-5 | 2.1.5 | SUPPORTED |
Lifecycle statuses
| Status | Scheduling |
|---|---|
| CURRENT | Latest recommended |
| SUPPORTED | Still allowed |
| DEPRECATED | Allowed, but upgrade soon |
| BLOCKED | Maintenance — no new workloads |
| UNKNOWN | Version not in the catalog |
App banner
The app banner (N runners blocked / upgrade notice) links to /admin/runners?filter=outdated. The Overview Outdated metric uses the same set.
Some runners are on unsupported versions and will not accept new workloads.
Auto-update channels
Self-hosted Linux packages support signed auto-update channels stable, preview, nightly, lts in config.yaml. Docker and Kubernetes fleets usually roll the image tag instead.
See RUNNER_ENTERPRISE and RUNNER_RELEASE for more details.
What to do
- Open Overview → filter
Outdated. - Rebuild or restart agents on the new
@axio/runner-coreimage / release tarball. - Confirm Version matches
runner/package.json(or the GHCR tag you deployed). - Dismiss the banner after the fleet is current.
Release artifacts
| Asset | Example |
|---|---|
| Linux tarball | runner-linux-x64.tar.gz / runner-linux-arm64.tar.gz |
| Windows zip | runner-windows-x64.zip |
| macOS | runner-macos-arm64.tar.gz |
| Images | ghcr.io/anantacloud-oss/runner-core:<version> |
| K8s manifest | kubernetes/runner-deployment.yaml on tag v\* |
Tag vX.Y.Z must match runner/package.json. Control plane env RUNNER_ARTIFACT_BASE_URL and RUNNER_IMAGE are what Setup embeds in install commands.
Build locally
npm run build:runner
\# or
npm run build --workspace=@axio/api-contracts
npm run build --workspace=@axio/runner-core
npm test --workspace=@axio/runner-core @axio/api-contracts must be built first; runner-core tests import it from dist.