Skip to content

Add click new: AI site generation, platform-first with local fallback #6

Add click new: AI site generation, platform-first with local fallback

Add click new: AI site generation, platform-first with local fallback #6

Workflow file for this run

# CI: build + the repo's real test suites. Testing here is end-to-end shell
# suites against live Docker Compose stacks (there are no Go unit tests —
# see CLAUDE.md), and GitHub's ubuntu runners ship docker compose, so CI
# runs exactly what a developer runs: make up && make smoke, and
# make up-auth && make smoke-auth. Nothing here publishes anything —
# releases are the tag-triggered release.yml.
name: ci
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
# Arch-agnostic static checks: one runner is enough.
checks:
runs-on: arc-amd64-runners
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- run: go build ./...
- run: go vet ./...
- name: gofmt
run: |
out=$(gofmt -l ./cmd ./internal)
if [ -n "$out" ]; then
echo "gofmt needed on:" && echo "$out"
exit 1
fi
# The smoke suites test the containerized platform itself, so they run on
# both architectures — the compose stack has to work on amd64 and arm64
# (Graviton) nodes alike.
smoke-open:
strategy:
fail-fast: false
matrix:
runner: [arc-amd64-runners, arc-arm64-runners]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- run: make up
- run: make smoke
- name: stack logs
if: failure()
run: docker compose logs --tail 200
smoke-auth:
strategy:
fail-fast: false
matrix:
runner: [arc-amd64-runners, arc-arm64-runners]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- run: make up-auth
- run: make smoke-auth
- name: stack logs
if: failure()
run: docker compose -f docker-compose.yml -f docker-compose.auth.yml logs --tail 200