Enhance release process: require new commits for publishing, improve local tag cleanup after successful pushes
This commit is contained in:
@@ -10,10 +10,10 @@ Use this skill when asked to tag or publish a Faerro KB image. The release proce
|
||||
## Procedure
|
||||
|
||||
1. Require a clean worktree and identify the exact committed `HEAD` being released. Staged, unstaged, or untracked changes must be committed or removed before running the script. Do not tag unrelated or unreviewed changes.
|
||||
2. The script selects the next patch version by default. Use `--minor` or `--major` only when the user requests that increment; lower components are reset. Tags must be exact `MAJOR.MINOR.PATCH`.
|
||||
2. The script requires at least one commit after the latest exact `MAJOR.MINOR.PATCH` tag, then selects the next patch version by default. Use `--minor` or `--major` only when the user requests that increment; lower components are reset.
|
||||
3. The script creates an unused annotated local tag on the checked-out commit; do not push Git tags to a remote unless requested.
|
||||
4. Confirm Docker is available. For non-interactive authentication, put `GITEA_USERNAME` and a package-write `GITEA_TOKEN` in the ignored `.env` file. The script parses only these keys and sends the token through Docker's `--password-stdin`; never put credentials in tracked files, command-line arguments, or chat. Without these settings it relies on Docker's existing login credentials.
|
||||
5. Run `./scripts/publish-image.sh` from the repository. It builds, logs in when `.env` credentials are set, and pushes both the versioned tag and `latest`.
|
||||
5. Run `./scripts/publish-image.sh` from the repository. It builds, logs in when `.env` credentials are set, and pushes both the versioned tag and `latest`. After both pushes succeed, it removes older local image tags for this repository, keeping the new version and `latest`; it does not delete packages from the registry.
|
||||
6. Report the tagged commit, image tags, and actual build/push result. A successful local build is not a successful release if either registry push fails.
|
||||
|
||||
Do not force-move an existing tag, create or push Git tags to a remote unless requested, or claim publication succeeded without successful registry pushes.
|
||||
Reference in New Issue
Block a user