This repository includes a release pipeline in .github/workflows/release.yml.
Any push to the release branch triggers the full pipeline.
The workflow will:
- Read
VERSION(must bex.y.z) - Create a unique tag:
v<VERSION>-r<GITHUB_RUN_NUMBER> - Publish a GitHub Release with a source tarball + sha256 file
- Build and push a Docker image to GHCR
- Build and push a Docker image to Docker Hub (if Docker Hub secrets are set)
- Update a Homebrew tap formula (if Homebrew tap secrets are set)
No extra secrets are required beyond the default GITHUB_TOKEN.
DOCKERHUB_USERNAMEDOCKERHUB_TOKEN(Docker Hub access token)
HOMEBREW_TAP_REPO(example:your-org/homebrew-tap)HOMEBREW_TAP_TOKEN(PAT with repo write access to the tap repository)
GHCR:
ghcr.io/<owner>/<repo>:v<VERSION>-r<RUN_NUMBER>ghcr.io/<owner>/<repo>:release-latest
Docker Hub:
docker.io/<DOCKERHUB_USERNAME>/matrix-easy-deploy:v<VERSION>-r<RUN_NUMBER>docker.io/<DOCKERHUB_USERNAME>/matrix-easy-deploy:release-latest
If Homebrew secrets are set, the workflow writes/updates:
Formula/med-kit.rbin your tap repository
Installed commands:
med-kitmed-kit-startmed-kit-stopmed-kit-update
- Recommended pre-release checks (local):
uv sync && ./test(oruv run pytest tests)bash apply.sh --server-ip 127.0.0.1- Re-run
bash apply.sh --server-ip 127.0.0.1to sanity-check idempotency
- The pipeline does not perform telemetry or active deployment checks.
- Each run creates a unique release tag, so every commit to
releaseproduces a distinct release. - To publish a new logical version, update
VERSIONin your commit.