The image was still built by hand and pushed to DockerHub (v1..v4), predating the all-builds-off-infra doctrine; Viktor chose to move it onto the standard pipeline while shipping the export/rename feature rather than keep the manual flow. Mirrors the k8s-portal pattern: .github/workflows/build-excalidraw.yml (go test + buildx linux/amd64, pushes ghcr latest+sha), excalidraw ns added to the Kyverno ghcr-credentials allowlist (package is PRIVATE), deployment now pins ghcr :latest with pullPolicy Always + pull secret, Keel force/match-tag/5m annotations seed the metadata (live values win via ignore_changes). DockerHub viktorbarzin/excalidraw-library:v4 stays frozen as the rollback image. Docs: ci-cd.md + .claude/CLAUDE.md image lists updated (also backfilled the missing k8s-portal rows in ci-cd.md). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
name: Build excalidraw-library
|
|
|
|
# ADR-0002 / no-local-builds: excalidraw-library (infra-owned Go app behind
|
|
# draw.viktorbarzin.me) builds off-infra on GHA → private ghcr; Keel polls
|
|
# ghcr:latest and rolls the deployment. Replaces the manual DockerHub pushes
|
|
# (viktorbarzin/excalidraw-library:v4 stays frozen as the rollback image).
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
paths:
|
|
- 'stacks/excalidraw/project/**'
|
|
workflow_dispatch: {}
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '1.21'
|
|
- run: go test ./...
|
|
working-directory: stacks/excalidraw/project
|
|
- uses: docker/setup-buildx-action@v3
|
|
- uses: docker/login-action@v3
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
- uses: docker/build-push-action@v6
|
|
with:
|
|
context: stacks/excalidraw/project
|
|
platforms: linux/amd64
|
|
provenance: false
|
|
push: true
|
|
tags: |
|
|
ghcr.io/viktorbarzin/excalidraw-library:latest
|
|
ghcr.io/viktorbarzin/excalidraw-library:${{ github.sha }}
|