059e88d432
CI Smoke / toolchain (push) Successful in 1s
First release: builds reproducibly (multi-arch), registers, runs checkout + node + docker login/build/push, and is live on Unraid (amd64). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.9 KiB
3.9 KiB
Changelog
All notable changes to this project will be documented in this file.
The format follows Keep a Changelog.
[Unreleased]
[0.1.0] - 2026-06-29
First release. Built, registered, validated end-to-end, and running live on
Unraid (amd64) against git.alwisp.com.
Added
- Initial repository scaffold: directory structure, Dockerfile, entrypoint, healthcheck, smoke-test, config examples, compose example, and docs.
- Phase 0 planning documents:
AGENT.md,README.md,ROADMAP.md. - First successful local image build:
custom-gitea-runner:v0.1.0(act_runner v0.2.11, Node 20, Docker CLI). Runtime smoke test passes 17/17. - First live registration validated against
git.alwisp.com(Gitea 1.26.4): instance-level runner registers, comes online, runs healthy, and restart reuses the existing config without creating a duplicate. .gitea/workflows/ci-smoke.yml: Phase 3 CI smoke workflow. Runs on thehostlabel to validate the bundled toolchain (actions/checkout@v4, node/npm/git/docker, mounted Docker socket) directly in the runner container. First run passed.- Published
registry.alwisp.com/jason/custom-gitea-runner:v0.1.0(and:latest) — first image release to the Gitea Container Registry. .gitea/workflows/docker-push.yml: Phase 3 docker login/build/push validation workflow (hostlabel). Run 114 logged in, built, and pushed a test image to the registry — completing Phase 3.- Live Unraid deployment validated:
unraid-runner-01registered as amd64, came online, and ran ahost-label smoke job (run 116) successfully on the real target host.
Changed
test/sample-workflows/docker-login.ymlanddocker-build-push.yml: now run on thehostlabel instead ofubuntu-latest. Docker build/push need the runner's bundled Docker CLI and mounted socket, which theubuntu-latestnode job container does not provide. Also fixed a doubled image path in the build/push sample (gitea.repositoryalready includes the owner).- Published
v0.1.0/latestas a multi-arch manifest (linux/amd64+linux/arm64) so it runs on Unraid (amd64) as well as Apple Silicon. The amd64 variant passes the 17/17 smoke test. - Unraid docs and compose example: corrected the image path to include the
jason/owner namespace (registry.alwisp.com/jason/custom-gitea-runner), added a required registry-login step (the package is private), and recommended thehostlabel for Docker build/push jobs (GITEA_RUNNER_LABELS=…,host:host).
Fixed
docker/runner/Dockerfile:COPYpaths for the entrypoint, healthcheck, and smoke-test scripts now resolve from the repo-root build context used byscripts/build-image.sh(previously assumed the build context wasdocker/runner/, so the build failed at theCOPYsteps).scripts/verify-runtime.sh: now runs the smoke test via--entrypointso it bypasses thetini/bootstrapENTRYPOINTinstead of triggering the registration flow and failing on a missingGITEA_INSTANCE_URL.docker/runner/docker-entrypoint.sh:GITEA_RUNNER_LABELSis now honored.act_runner registerignores its--labelsflag when a config already exists, so the bootstrap generated a config with default labels and the env var was silently a no-op. The entrypoint now injects the labels into the generated config before registering.scripts/deregister-runner.sh: rewritten to deregister via the Gitea REST API. The previous version calledact_runner daemon --unregister, a flag/command that does not exist in act_runner — deregistration must go throughDELETE /api/v1/admin/actions/runners/{id}. Now takes a runner name or id and an admin API token.scripts/publish-image.sh: now supports aREGISTRY_NAMESPACE(defaultjason) so images push toregistry.alwisp.com/<owner>/<image>. The Gitea Container Registry requires an owner namespace; without it the push 404s on blob upload.