quiche-draft-release
quiche draft GitHub release automation from a release commit hash or existing tag. Use when creating draft releases for the quiche crate from a quiche/Cargo.toml version bump.
소스 정보
- 저장소
- cloudflare/quiche
- 최근 소스 활동
- 2026년 9월 18일 10:06
- 감지된 SKILL.md 언어
- 영어
- 스타
- 12,787
- 포크
- 1,175
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
파일 탐색기
2 개 파일SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- quiche-draft-release
- description
- quiche draft GitHub release automation from a release commit hash or existing tag. Use when creating draft releases for the quiche crate from a quiche/Cargo.toml version bump.
# quiche Draft Release
Use this skill when the user asks to create a GitHub draft release for the
`quiche` crate and provides, or should provide, either the commit hash that
bumped `quiche/Cargo.toml` or an existing release tag pointing at that commit.
Do not require a pre-existing tag. quiche release tags are created after the
release PR is merged, because GitHub does not support fast-forward PR merges.
Use the release commit hash as the source of truth when the tag does not exist
yet, and let `gh release create` target that commit. If the release tag already
exists, the user may provide either the tag or the commit hash.
## Inputs
- Required: a release ref. This is either a commit hash for the commit that
changed `quiche/Cargo.toml` to the released version, or an existing quiche
release tag such as `0.29.1` that points at that commit.
- Optional: a release title emoji. If none is requested, choose one consistent
with existing quiche releases.
If the release ref is missing or ambiguous, ask one short clarification question.
## Workflow
1. Run a dry run with the helper script:
```bash
./.codex/skills/quiche-draft-release/scripts/create-draft-release.sh --dry-run <release-ref>
```
2. Use the dry-run output to identify the version, previous quiche release tag,
compare range, and whether the tag already exists.
3. Prepare release notes for `quiche/` only, following `RELEASING.md`:
- Do not use a raw commit list.
- Include only important user-visible changes.
- Clearly mark breaking changes and security fixes.
- Explain what applications need to change for breaking changes.
- Use versioned `docs.rs` links for new public APIs where useful.
- Ignore unrelated workspace crates, release commits, formatting, clippy,
test-only changes, and internal refactors unless user-visible.
4. Write the release notes to a temporary file, for example:
```bash
/tmp/quiche-release-<version>.md
```
5. Before creating the release, unless the user has explicitly asked to proceed
without confirmation, show the exact `gh release create` command and ask for
confirmation.
6. Create the GitHub draft release with the helper script:
```bash
./.codex/skills/quiche-draft-release/scripts/create-draft-release.sh \
--title "<emoji> <version>" \
--notes-file /tmp/quiche-release-<version>.md \
<release-ref>
```
7. Verify the draft after creation:
```bash
gh release view <version> --repo cloudflare/quiche \
--json tagName,name,isDraft,isPrerelease,url
```
GitHub draft release URLs often use `untagged-*`. Trust `tagName` from
`gh release view` to verify the draft is associated with the expected version.
## Helper Script Behavior
The helper script:
- Resolves the supplied release ref to a commit. The ref may be a commit hash or
an existing quiche release tag.
- Reads the release version from `quiche/Cargo.toml` at the resolved commit.
- Verifies the resolved commit changed the quiche crate version relative to its
first parent.
- Infers the previous quiche release tag from semver-like quiche tags merged
into the release commit.
- Refuses to create a release if a GitHub release for that version already
exists.
- Uses the existing release tag if it exists and points at the resolved commit.
- Adds `--target <commit>` when the tag does not exist yet.
- Creates the GitHub release as a draft only.
## Examples
Dry run:
```bash
./.codex/skills/quiche-draft-release/scripts/create-draft-release.sh \
--dry-run f0c7193c3
```
Dry run with an existing tag:
```bash
./.codex/skills/quiche-draft-release/scripts/create-draft-release.sh \
--dry-run 0.29.1
```
Create a draft release:
```bash
./.codex/skills/quiche-draft-release/scripts/create-draft-release.sh \
--title "🩹 0.29.1" \
--notes-file /tmp/quiche-release-0.29.1.md \
f0c7193c3
```
Create a draft release from an existing tag:
```bash
./.codex/skills/quiche-draft-release/scripts/create-draft-release.sh \
--title "🩹 0.29.1" \
--notes-file /tmp/quiche-release-0.29.1.md \
0.29.1
```
## Do Not
- Do not create or move git tags manually as part of this skill.
- Do not publish the release; keep it as a draft.
- Do not create releases for non-`quiche` workspace crates with this skill.
- Do not overwrite or edit an existing GitHub release unless the user explicitly
asks for that.
GitHub에서 보기