Skip to main content

create-release-tag

Create and push a signed, annotated NeMo Relay stable tag, then prepare an unpublished GitHub Release draft for review. Use when cutting a stable release; not for beta or release-candidate tags.

소스 정보

저장소
NVIDIA/NeMo-Relay
최근 소스 활동
2026년 9월 25일 15:02
감지된 SKILL.md 언어
영어
스타
192
포크
77

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
create-release-tag
description
Create and push a signed, annotated NeMo Relay stable tag, then prepare an unpublished GitHub Release draft for review. Use when cutting a stable release; not for beta or release-candidate tags.
license
Apache-2.0
# Create a Release Tag Require an explicit stable version in exact `<major>.<minor>.<patch>` form. Do not infer it from metadata or a branch name, and do not edit package metadata while tagging. The matching `release/<major>.<minor>` branch must exist on `upstream`; Relay stable tags are raw SemVer, for example `0.9.0`, without `v`. Before the destructive tag push, require explicit approval. Preserve user changes: do not stash, discard, or switch away from a dirty checkout. Fetch the release branch and tags, require `HEAD` to equal the upstream release branch, and require the workspace version to equal the requested version. Verify both local and remote tags are absent, create a signed annotated tag, verify it with `git tag -v`, and push only `refs/tags/<tag>`. Stop on any failed check; never force-update, replace, or delete tags. After a successful push, create a GitHub Release only when the user explicitly authorizes the draft. Use the prior published stable release returned by GitHub, read the release-notes content at the new tag, and use `draft-release-notes` evidence only to verify claims. Prepare `TITLE` and `NOTES_FILE`, then create the draft with the command below. Present its URL for review; publishing is a separate action. ## Create and Verify the Tag Use `upstream` for `NVIDIA/NeMo-Relay`. Before requesting push approval, use the following checks with the user-provided `VERSION`: ```bash VERSION=<major.minor.patch> RELEASE_BRANCH="release/$(printf '%s' "$VERSION" | cut -d. -f1,2)" git ls-remote --exit-code --heads upstream "refs/heads/$RELEASE_BRANCH" git fetch upstream "$RELEASE_BRANCH" --tags test -z "$(git status --porcelain)" git switch "$RELEASE_BRANCH" git pull --ff-only --signoff upstream "$RELEASE_BRANCH" test -z "$(git status --porcelain)" test "$(git rev-parse HEAD)" = "$(git rev-parse "upstream/$RELEASE_BRANCH")" test "$(sed -nE 's/^version = "([^"]+)"$/\1/p' Cargo.toml | head -1)" = "$VERSION" ! git rev-parse --verify --quiet "refs/tags/$VERSION" if git ls-remote --exit-code --tags upstream "refs/tags/$VERSION" >/dev/null; then echo "Error: tag already exists on upstream" >&2 exit 1 else tag_lookup_status=$? case "$tag_lookup_status" in 2) ;; *) echo "Error: remote tag lookup failed" >&2; exit "$tag_lookup_status" ;; esac fi ``` After explicit approval, create and push only the verified tag: ```bash git tag -s -a -m "NVIDIA NeMo Relay ${VERSION}" "$VERSION" HEAD git tag -v "$VERSION" git push upstream "refs/tags/$VERSION" ``` For an authorized GitHub Release draft, read the tagged `docs/about-nemo-relay/release-notes/index.mdx`, find the previous published stable release with `gh api repos/NVIDIA/NeMo-Relay/releases/latest`, and use the tagged notes as the source for a concise body. Verify no release already exists, then run: ```bash gh release create "$VERSION" --repo NVIDIA/NeMo-Relay --title "$TITLE" --notes-file "$NOTES_FILE" --draft --verify-tag ``` Do not create a team announcement or publish the draft unless separately requested.
GitHub에서 보기