mirror of
https://github.com/hanzoai/computer.git
synced 2026-09-30 20:55:46 +00:00
ci: containerize + arcd GHCR semver build (DOKS deploy) (#2)
Docker Build & Push (Reusable) / build-arm64 (push) Skipped
Docker Build & Push (Reusable) / create-manifest (push) Canceled after 0s
Docker Build & Push (Reusable) / tag-single-arch (push) Canceled after 0s
Docker Build & Push (Reusable) / deploy (push) Canceled after 0s
Docker Build & Push (Reusable) / sbom (push) Canceled after 0s
Build image / docker (push) Canceled after 0s
Docker Build & Push (Reusable) / build-amd64 (push) Canceled after 0s
Docker Build & Push (Reusable) / build-arm64 (push) Skipped
Docker Build & Push (Reusable) / create-manifest (push) Canceled after 0s
Docker Build & Push (Reusable) / tag-single-arch (push) Canceled after 0s
Docker Build & Push (Reusable) / deploy (push) Canceled after 0s
Docker Build & Push (Reusable) / sbom (push) Canceled after 0s
Build image / docker (push) Canceled after 0s
Docker Build & Push (Reusable) / build-amd64 (push) Canceled after 0s
* ci: containerize + arcd GHCR semver build (DOKS deploy) Add multi-stage Dockerfile (npm Vite build -> minimal node:22-slim static server via serve, no nginx/caddy, port 3000) and .github/workflows/build.yml that builds+pushes ghcr.io/hanzoai/computer on v* tags via the canonical hanzoai/.github docker-build reusable workflow on the self-hosted arcd fleet. Ships only the static SPA (api/ Vercel functions excluded). Semver-only tags. * ci: serve via canonical hanzoai/spa (static SPA, one way) --------- Co-authored-by: hanzo-dev <[email protected]>
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
node_modules
|
||||
dist
|
||||
.git
|
||||
.github
|
||||
*.md
|
||||
.env*
|
||||
.vscode
|
||||
e2e
|
||||
tests
|
||||
test-*.html
|
||||
test-*.mjs
|
||||
playwright.config.ts
|
||||
.playwright-mcp
|
||||
@@ -0,0 +1,21 @@
|
||||
name: Build image
|
||||
|
||||
# Builds + pushes ghcr.io/hanzoai/computer on a v* semver tag via the
|
||||
# canonical reusable workflow, natively on the self-hosted arcd fleet
|
||||
# (NO GitHub-hosted runners). Semver-only tags. Deployable on DOKS.
|
||||
on:
|
||||
push:
|
||||
tags: ['v*']
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
uses: hanzoai/.github/.github/workflows/docker-build.yml@main
|
||||
with:
|
||||
image: ghcr.io/hanzoai/computer
|
||||
secrets: inherit
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
# hanzo.computer (Vite + React 19 SPA) — served via the canonical hanzoai/spa
|
||||
# static server (one way for static SPAs). No node runtime in the final stage.
|
||||
# The repo api/ dir holds Vercel serverless funcs (hosted deploy only); the
|
||||
# container ships ONLY the static SPA bundle.
|
||||
FROM node:22-slim AS build
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
RUN npm ci
|
||||
RUN npm run build
|
||||
FROM ghcr.io/hanzoai/spa
|
||||
COPY --from=build /app/dist /public
|
||||
Reference in New Issue
Block a user