mirror of
https://github.com/luxfi/kms.git
synced 2026-07-27 03:38:31 +00:00
ci: restore the kms build workflow
299b230 deleted this in favour of platform.hanzo.ai native builds (hanzo.yml).
The native plane does not serve yet — the platform Deployment is scaled to 0/0
and PLATFORM_BUILD_CALLBACK_TOKEN, the bearer POST /v1/runner requires, is in
neither cluster — so the cutover left kms the one repo in the fleet that could
not build at all, while every sibling kept building on Actions (luxfi/node has
19 active workflows, hanzoai/gateway 3, hanzoai/commerce 1).
The 422 that motivated the cutover, "Actions has been disabled for this user",
is account-scoped rather than repo-scoped: hanzo-dev gets it, zeekay does not.
Push-triggered runs separately stopped firing around 2026-07-24, so builds want
an explicit dispatch regardless.
hanzo.yml stays and now says plainly that it is intent, not the live path. Cut
over when the native plane serves, and fleet-wide rather than one repo at a time.
Co-authored-by: Hanzo Dev <dev@hanzo.ai>
This commit is contained in:
@@ -0,0 +1,89 @@
|
|||||||
|
name: Build KMS
|
||||||
|
|
||||||
|
# RESTORED. This was deleted in efed0f0 in favour of platform.hanzo.ai's native
|
||||||
|
# build plane (see hanzo.yml), which left kms the ONE repo in the fleet that
|
||||||
|
# could not build at all: the platform Deployment is scaled to 0/0 and
|
||||||
|
# PLATFORM_BUILD_CALLBACK_TOKEN — the bearer POST /v1/runner requires — is in
|
||||||
|
# neither cluster. Meanwhile every sibling still builds here (luxfi/node has 19
|
||||||
|
# active workflows, hanzoai/gateway 3, hanzoai/commerce 1). Cutting one repo over
|
||||||
|
# ahead of the others bought inconsistency and no builds.
|
||||||
|
#
|
||||||
|
# hanzo.yml stays as the declaration of intent. Delete THIS file when the native
|
||||||
|
# plane actually serves — and do it fleet-wide, not one repo at a time.
|
||||||
|
#
|
||||||
|
# Note: push-triggered runs stopped firing across these repos around 2026-07-24;
|
||||||
|
# dispatch explicitly (`gh workflow run build-lux-kms.yml --ref <ref>`), and note
|
||||||
|
# that the hanzo-dev account gets 422 "Actions has been disabled for this user"
|
||||||
|
# while zeekay does not.
|
||||||
|
#
|
||||||
|
# Self-contained — calling hanzoai/.github/.github/workflows/docker-build.yml@main
|
||||||
|
# via `secrets: inherit` triggers a cross-org startup_failure (organization
|
||||||
|
# secrets aren't inherited across orgs even with `inherit`). Same pattern
|
||||||
|
# already used by build-server-self.yml.
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
tags: ['v*']
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: lux-build
|
||||||
|
timeout-minutes: 45
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Compute tags
|
||||||
|
id: meta
|
||||||
|
run: |
|
||||||
|
if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
|
||||||
|
VERSION="${GITHUB_REF#refs/tags/v}"
|
||||||
|
{
|
||||||
|
echo "tags<<EOF"
|
||||||
|
echo "ghcr.io/luxfi/kms:v${VERSION}"
|
||||||
|
echo "ghcr.io/luxfi/kms:${VERSION}"
|
||||||
|
echo "ghcr.io/luxfi/kms:sha-${GITHUB_SHA:0:7}"
|
||||||
|
echo "EOF"
|
||||||
|
} >> "$GITHUB_OUTPUT"
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo "tags<<EOF"
|
||||||
|
echo "ghcr.io/luxfi/kms:sha-${GITHUB_SHA:0:7}"
|
||||||
|
echo "EOF"
|
||||||
|
} >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Login to GHCR
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set up Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Build and push (linux/amd64, with embedded SPA)
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile
|
||||||
|
platforms: linux/amd64
|
||||||
|
build-args: |
|
||||||
|
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
|
||||||
|
push: true
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Summary
|
||||||
|
run: |
|
||||||
|
echo "### Build complete" >> "$GITHUB_STEP_SUMMARY"
|
||||||
|
echo '```' >> "$GITHUB_STEP_SUMMARY"
|
||||||
|
echo '${{ steps.meta.outputs.tags }}' >> "$GITHUB_STEP_SUMMARY"
|
||||||
|
echo '```' >> "$GITHUB_STEP_SUMMARY"
|
||||||
@@ -2,10 +2,19 @@
|
|||||||
# file, schedules the image build onto the self-hosted arcd pools over the
|
# file, schedules the image build onto the self-hosted arcd pools over the
|
||||||
# native long-poll fabric, and pushes to GHCR — no GitHub-Actions hop.
|
# native long-poll fabric, and pushes to GHCR — no GitHub-Actions hop.
|
||||||
#
|
#
|
||||||
# This repo previously built through .github/workflows/build-lux-kms.yml. That
|
# STATUS: declaration of intent, NOT the live path. The build that actually runs
|
||||||
# path is dead: GitHub answers a workflow dispatch with 422 "Actions has been
|
# today is .github/workflows/build-lux-kms.yml, restored after this file briefly
|
||||||
# disabled for this user", so pushes produced no build at all and the deployed
|
# replaced it — the native plane is not serving yet (the platform Deployment is
|
||||||
# image silently drifted behind main.
|
# scaled to 0/0 and PLATFORM_BUILD_CALLBACK_TOKEN, the bearer POST /v1/runner
|
||||||
|
# needs, is in neither cluster), so cutting over left kms unable to build at all.
|
||||||
|
#
|
||||||
|
# The 422 "Actions has been disabled for this user" that motivated the cutover is
|
||||||
|
# ACCOUNT-scoped, not repo-scoped: the hanzo-dev account gets it, the zeekay
|
||||||
|
# account dispatches fine. Push-triggered runs did stop firing around 2026-07-24,
|
||||||
|
# so builds need an explicit dispatch either way.
|
||||||
|
#
|
||||||
|
# Switch to this path when the native plane serves, and do it for the whole fleet
|
||||||
|
# at once — every sibling repo still builds on Actions.
|
||||||
#
|
#
|
||||||
# Schema: ~/work/hanzo/platform/docs/PLATFORM_CI.md §hanzo.yml.
|
# Schema: ~/work/hanzo/platform/docs/PLATFORM_CI.md §hanzo.yml.
|
||||||
build:
|
build:
|
||||||
|
|||||||
Reference in New Issue
Block a user