Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,11 @@ ANcpLua.Agents

### Release flow

1. Push to `main` via PR β€” CI runs, auto-merge bots handle dep bumps
2. Tag `vX.Y.Z` on `main` β€” publish workflow pushes to NuGet
3. NuGet indexes in ~4-8 minutes β€” downstream repos pick up via Renovate
Manual-tag-triggers-publish. The workflow runs on `push: main` for build + test only (publish job gated by `is_release=true`); the tag push triggers the publish path.

1. PR to `main` via squash merge β€” workflow runs build + test; publish job skipped (`is_release=false`)
Comment on lines +162 to +164
2. After merge: `git tag vX.Y.Z && git push --tags` β€” version comes from `${GITHUB_REF_NAME#v}`, `is_release=true`

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using git push --tags is generally considered a risky practice in shared repositories because it pushes all local tags to the remote. This can lead to accidentally triggering release workflows for experimental or unfinished tags. It is safer to recommend pushing only the specific tag intended for the release.

Suggested change
2. After merge: `git tag vX.Y.Z && git push --tags` β€” version comes from `${GITHUB_REF_NAME#v}`, `is_release=true`
2. After merge: `git tag vX.Y.Z && git push origin vX.Y.Z` β€” version comes from `${GITHUB_REF_NAME#v}`, `is_release=true`

3. Publish job pushes to NuGet via trusted publishing, then `gh release create v$VERSION` auto-creates the GitHub release
4. NuGet indexes in ~4-8 minutes β€” downstream repos pick up via Renovate

Note: ANcpLua.NET.Sdk uses a different pattern (auto-bump-on-merge + auto-tag); ANcpLua.Analyzers uses the same manual-tag pattern as this repo but does **not** auto-create the GH release.