9 Commits

Author SHA1 Message Date
ozan 5f676dfb6b feat: switch orchestrator from Fargate to EC2 Spot
Dispatcher now launches Spot instances instead of Fargate tasks:
- t3.small for go/node builds ($0.005/hr)
- t3.medium for docker/godot builds ($0.01/hr)
- t3.micro for deploy jobs ($0.004/hr)

Instances self-terminate via user-data trap on exit.
Cancel: ec2:TerminateInstances instead of ecs:StopTask.
Cleanup cron also sweeps orphan instances by tinqs-ci tag.

Pre-baked AMI with act_runner + tools = instant boot, no install.
v1
2026-05-22 19:24:33 +01:00
ozan 537235c17b fix: use wget fallback when curl missing (bare Alpine runner) 2026-05-22 18:55:00 +01:00
ozan e96c7c5bf1 feat: CI orchestrator — Lambda dispatch + Fargate routing + cancel
dispatch: receives Gitea webhook, routes by runs-on label to Fargate
  tasks (go/node/docker/godot) or Lambda executor (deploy).
  Path filter evaluation, DynamoDB run tracking, cancel via StopTask.
exec: lightweight Lambda for deploy-only jobs (S3 sync, ECS update).
SAM template: API Gateway + 2 Lambdas + DynamoDB + cleanup cron.
2026-05-22 18:47:47 +01:00
ozan 1564c61acc fix: Alpine compatibility + READMEs + roadmap
- setup-node: detect Alpine/Debian, use apk or NodeSource
- setup-aws: use pip on Alpine (musl), binary on Debian (glibc)
- setup-go: fix version parsing for Alpine (no grep -P)
- README per action with usage examples and input docs
- PLAN.md: roadmap for runner images, labels, Lambda dispatch
2026-05-22 18:06:11 +01:00
ozan 4be33e33f1 feat: multi-image runners — go, node, docker, deploy, godot
Replace single fat image with purpose-built images per workflow type.
Each image is lean: base (Alpine+AWS+git) → go/node/deploy extend it.
docker image standalone (dind base). godot for future game builds.
build-all.sh builds base first, then all others in parallel.
2026-05-22 18:00:57 +01:00
ozan c01049dd5b docs: clean up action comments — describe what we do, not what others had 2026-05-22 17:56:40 +01:00
ozan d61246e7e4 docs: add provenance comments — what was replaced, why, what was removed
Each action.yml now documents:
- Original upstream repo (GitHub Actions)
- Why it was rewritten for self-hosted Gitea
- What was removed from the original
- Author and date
2026-05-22 17:55:30 +01:00
ozan 5f0ddc1901 feat: composite actions + runner base image
Actions: checkout, setup-go, setup-node, setup-aws
Runner image: Go 1.26 + Node 22 + AWS CLI + Docker (docker:29-dind)
2026-05-22 17:52:08 +01:00
ozan ee74d56df8 Initial commit 2026-05-22 16:50:47 +00:00