Add release script targeting code.andydayton.com registry #2

Merged
andy merged 1 commit from deploy into main 2026-05-06 17:13:04 +02:00
Owner

Summary

Replaces the Docker Hub workflow with a tagged-release workflow that pushes to the self-hosted registry at code.andydayton.com.

  • New sh/release.sh orchestrates the full release: validates vX.Y.Z, checks the docker daemon, refuses dirty trees and existing tags, creates an annotated git tag, builds the image as code.andydayton.com/andy/tenderbuttons:vX.Y.Z (also tagged :latest), pushes both image tags, then pushes the git tag to origin.
  • Makefile: added IMAGE var, retargeted docker-build/docker-run at the new registry tagged :dev, removed docker-push, added make release VERSION=vX.Y.Z.
  • README.md: added a ## Releasing section documenting the new flow and the docker login code.andydayton.com prerequisite.

Versioning starts at v1.0.0.

Test plan

  • ./sh/release.sh (no arg) prints usage and exits non-zero
  • ./sh/release.sh 1.0.0 (missing v) rejects
  • ./sh/release.sh v1.0 and v1.0.0.0 reject
  • With a dirty working tree, the script refuses
  • docker login code.andydayton.com then make release VERSION=v1.0.0 produces and pushes :v1.0.0 + :latest images and the git tag
  • Re-running with the same version refuses (tag exists)
  • make docker-build && make docker-run still works for local dev (image tagged :dev)
## Summary Replaces the Docker Hub workflow with a tagged-release workflow that pushes to the self-hosted registry at `code.andydayton.com`. - New `sh/release.sh` orchestrates the full release: validates `vX.Y.Z`, checks the docker daemon, refuses dirty trees and existing tags, creates an annotated git tag, builds the image as `code.andydayton.com/andy/tenderbuttons:vX.Y.Z` (also tagged `:latest`), pushes both image tags, then pushes the git tag to `origin`. - `Makefile`: added `IMAGE` var, retargeted `docker-build`/`docker-run` at the new registry tagged `:dev`, removed `docker-push`, added `make release VERSION=vX.Y.Z`. - `README.md`: added a `## Releasing` section documenting the new flow and the `docker login code.andydayton.com` prerequisite. Versioning starts at `v1.0.0`. ## Test plan - [x] `./sh/release.sh` (no arg) prints usage and exits non-zero - [x] `./sh/release.sh 1.0.0` (missing `v`) rejects - [x] `./sh/release.sh v1.0` and `v1.0.0.0` reject - [x] With a dirty working tree, the script refuses - [x] `docker login code.andydayton.com` then `make release VERSION=v1.0.0` produces and pushes `:v1.0.0` + `:latest` images and the git tag - [x] Re-running with the same version refuses (tag exists) - [x] `make docker-build && make docker-run` still works for local dev (image tagged `:dev`)
andy changed title from Release script to Add release script targeting code.andydayton.com registry 2026-05-06 17:12:59 +02:00
andy merged commit 77d7b313fa into main 2026-05-06 17:13:04 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
andy/tenderbuttons!2
No description provided.