Fix build/packaging + add release & container pipeline #1

Merged
gsadmin merged 4 commits from feat/release-pipeline into main 2026-09-02 11:10:09 +00:00
Owner

Fixes the repo build/packaging and adds a simple release pipeline.

Changes

  • build(docker): multi-stage image that builds the Next.js static export, embeds it, and compiles the CGO Go binary (previous Dockerfile used Go 1.22 and shipped only the placeholder UI).
  • ci: single Gitea Actions workflow on push to main only (no per-commit/PR CI). Runs Go tests as a gate, builds & pushes the image (latest + unified HEAD-commit date yyyy.MM.dd.HHmm) to the built-in Gitea registry, and cuts a Gitea release with the linux/amd64 binary attached.
  • test: config loader + /health and /api/v1/version smoke tests.
  • chore: gitignore local Scratch/.

Verified locally: go test ./... green, frontend static export builds, binary runs and serves the embedded UI + health/version endpoints.

Merging this triggers the release workflow for the first time.

Fixes the repo build/packaging and adds a simple release pipeline. ## Changes - build(docker): multi-stage image that builds the Next.js static export, embeds it, and compiles the CGO Go binary (previous Dockerfile used Go 1.22 and shipped only the placeholder UI). - ci: single Gitea Actions workflow on push to main only (no per-commit/PR CI). Runs Go tests as a gate, builds & pushes the image (latest + unified HEAD-commit date yyyy.MM.dd.HHmm) to the built-in Gitea registry, and cuts a Gitea release with the linux/amd64 binary attached. - test: config loader + /health and /api/v1/version smoke tests. - chore: gitignore local Scratch/. Verified locally: go test ./... green, frontend static export builds, binary runs and serves the embedded UI + health/version endpoints. Merging this triggers the release workflow for the first time.
gsadmin added 4 commits 2026-09-02 11:09:32 +00:00
The Scratch/ tree holds local design templates and experiments (e.g. the
Mantis UI template zips) that must never be committed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Cover the environment-driven config loader (defaults, overrides, secret
from file) and the unauthenticated /health and /api/v1/version handlers
the Docker HEALTHCHECK and bootstrap flow depend on.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The previous Dockerfile used Go 1.22 (too old for the go 1.24 module) and
never built the frontend, so the image shipped only the placeholder UI.
Rework it into three stages: build the Next.js static export, stage it into
the //go:embed dist dir and compile the CGO binary, then ship a minimal
Alpine runtime. .npmrc is copied before npm ci so legacy-peer-deps applies.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Single Gitea Actions workflow triggered only by a push to main (no per-commit
or per-PR CI). It runs the Go test suite as a gate, then builds and pushes the
container image tagged latest and the unified HEAD-commit date (yyyy.MM.dd.HHmm),
and cuts a Gitea release with the linux/amd64 binary attached. Defaults to the
built-in Gitea registry; REGISTRY_* secrets override to an external one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gsadmin merged commit effaf9dda2 into main 2026-09-02 11:10:09 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gsadmin/OrchestrAD#1