mirror of
https://github.com/Shik3i/KoalaSync.git
synced 2026-08-29 20:17:08 +00:00
39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
# Repository agent release rules
|
|
|
|
These rules are mandatory for every automated agent working in this repository.
|
|
|
|
## Before changing code
|
|
|
|
- Run `git pull --ff-only` before starting.
|
|
- Inspect branch, remote tracking, dirty state, and relevant release workflow.
|
|
- Preserve unrelated work and stage only reviewed paths.
|
|
|
|
## Release verification
|
|
|
|
- Never treat a host macOS browser run as GitHub Linux parity.
|
|
- Run checks proportionate to the changed files. Markdown-only changes do not
|
|
require browser E2E or `release:gate`.
|
|
- `npm run release:gate -- MAJOR.MINOR.PATCH [--candidate]` remains available
|
|
when release code itself needs Linux/AMD64 parity validation. It prepares the
|
|
requested version only inside its isolated clone.
|
|
- All OCI image references must use the canonical lowercase
|
|
`ghcr.io/shik3i/koalasync`; never construct Docker references from the
|
|
case-preserving `${{ github.repository }}` value. The local gate enforces this.
|
|
|
|
## Before pushing a release tag
|
|
|
|
- Fast-forward local `main` and confirm a clean tree at exact `origin/main`.
|
|
- Wait for `verify`, `node20`, and `e2e` on that exact `main` commit.
|
|
- Do not edit release-version sources manually. The tag workflow owns the
|
|
atomic version update.
|
|
- Create an annotated exact SemVer tag such as `v3.1.6`.
|
|
- Confirm tag target equals `origin/main`, then push the tag once.
|
|
- The workflow must extract the version, update and validate every version
|
|
source, commit `chore(release): update versions to vX.Y.Z [skip ci]`, and push
|
|
that commit directly to `main` before building release outputs.
|
|
- Chrome, Firefox, website, and relay outputs must use the exact prepared commit.
|
|
- Monitor the complete release workflow. Distinguish tag push, CI, draft assets,
|
|
container publication, attestations, and public GitHub Release status.
|
|
- Never call a release complete while any job is pending, failed, or skipped.
|
|
- Never reuse, move, or force-push a published tag.
|