chore: introduce semver + CHANGELOG.md, cut v0.1.0
- CHANGELOG.md following Keep a Changelog; 0.1.0 entry covers all features shipped through the loaded-model indicator - build.sh now also tags the image with the version read from pyproject.toml, e.g. rg.nl-ams.scw.cloud/valinor/finrod:0.1.0 - README documents the release workflow (edit CHANGELOG, bump pyproject version, merge, tag vX.Y.Z, build, bump valinor)
This commit is contained in:
27
README.md
27
README.md
@@ -47,14 +47,29 @@ Then on every change:
|
||||
./build.sh
|
||||
```
|
||||
|
||||
That builds `linux/amd64,linux/arm64` and pushes `rg.nl-ams.scw.cloud/valinor/finrod:{latest, <git-short-sha>}`. Take note of the short SHA it prints — that's what you pin in valinor.
|
||||
That builds `linux/amd64,linux/arm64` and pushes three tags:
|
||||
- `:latest` — moving pointer
|
||||
- `:<git-short-sha>` — immutable, traceable
|
||||
- `:<pyproject-version>` (e.g. `:0.1.0`) — semver
|
||||
|
||||
## Deploy
|
||||
|
||||
Cluster manifests live in `valinor/apps/finrod/` (bjw-s app-template, internal-only ingress at `finrod.jpnadas.xyz`). To roll out a new build:
|
||||
Cluster manifests live in `valinor/apps/finrod/` (bjw-s app-template, internal-only ingress at `finrod.jpnadas.xyz`). To roll out a new build, bump `tag:` in `valinor/apps/finrod/values.yaml` to the new semver on a branch → PR → merge → ArgoCD syncs.
|
||||
|
||||
1. `./build.sh` here — get the SHA
|
||||
2. Bump `tag:` in `valinor/apps/finrod/values.yaml` to that SHA on a branch
|
||||
3. Merge → ArgoCD syncs the new image
|
||||
## Release workflow
|
||||
|
||||
Using `:latest` works for the first deploy (the pull policy is `Always`) but pinning to a SHA on each rollout gives you trivial rollback via git revert.
|
||||
This project uses [Semantic Versioning](https://semver.org/) and keeps a human-edited [CHANGELOG.md](./CHANGELOG.md).
|
||||
|
||||
To cut a release:
|
||||
|
||||
1. On a branch, edit `CHANGELOG.md`: move accumulated `[Unreleased]` notes into a new `## [X.Y.Z] - YYYY-MM-DD` section.
|
||||
2. Bump `version` in `pyproject.toml` to `X.Y.Z`.
|
||||
3. PR → merge to `main`.
|
||||
4. Tag the merge commit:
|
||||
```sh
|
||||
git checkout main && git pull
|
||||
git tag -a vX.Y.Z -m "vX.Y.Z"
|
||||
git push origin vX.Y.Z
|
||||
```
|
||||
5. `./build.sh` — the image now also gets `:X.Y.Z` (read from `pyproject.toml`).
|
||||
6. In `valinor`, bump `apps/finrod/values.yaml` `tag:` from the previous version to `X.Y.Z` on a branch → PR → ArgoCD picks it up.
|
||||
|
||||
Reference in New Issue
Block a user