Add a release_create tool to create GitHub/Gitea releases (git tag + release notes) as part of the deployment and promotion pipeline.
Gitea API
POST /api/v1/repos/{owner}/{repo}/releases
Tool spec
tool: release_create
params:
owner: string
name: string // repo name
tag: string // e.g. "v0.2.0"
target: string? // branch or SHA, defaults to default branch
title: string? // release title, defaults to tag
body: string? // release notes markdown
draft: bool? // default: false
prerelease: bool? // default: false
Required token permission
write:repository scope on the Gitea API token.
Risk classification
LOW — creating a release is reversible (can delete release). Creating a tag is not (but tag_create already exists).
Implementation notes
Returns release URL and ID
If tag already exists, Gitea will use it — document this behaviour
Test cases: new tag + release, existing tag + release, draft release
Motivation
Part of the Diamond 2 → Deliver phase: promotion from staging to pre-prod should create a versioned release as the audit trail. Flux image automation can then track release tags. Agents should be able to cut releases without web UI access.
## Summary
Add a `release_create` tool to create GitHub/Gitea releases (git tag + release notes) as part of the deployment and promotion pipeline.
## Gitea API
`POST /api/v1/repos/{owner}/{repo}/releases`
## Tool spec
```
tool: release_create
params:
owner: string
name: string // repo name
tag: string // e.g. "v0.2.0"
target: string? // branch or SHA, defaults to default branch
title: string? // release title, defaults to tag
body: string? // release notes markdown
draft: bool? // default: false
prerelease: bool? // default: false
```
## Required token permission
`write:repository` scope on the Gitea API token.
## Risk classification
**LOW** — creating a release is reversible (can delete release). Creating a tag is not (but tag_create already exists).
## Implementation notes
- Returns release URL and ID
- If tag already exists, Gitea will use it — document this behaviour
- Test cases: new tag + release, existing tag + release, draft release
## Motivation
Part of the Diamond 2 → Deliver phase: promotion from staging to pre-prod should create a versioned release as the audit trail. Flux image automation can then track release tags. Agents should be able to cut releases without web UI access.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Add a
release_createtool to create GitHub/Gitea releases (git tag + release notes) as part of the deployment and promotion pipeline.Gitea API
POST /api/v1/repos/{owner}/{repo}/releasesTool spec
Required token permission
write:repositoryscope on the Gitea API token.Risk classification
LOW — creating a release is reversible (can delete release). Creating a tag is not (but tag_create already exists).
Implementation notes
Motivation
Part of the Diamond 2 → Deliver phase: promotion from staging to pre-prod should create a versioned release as the audit trail. Flux image automation can then track release tags. Agents should be able to cut releases without web UI access.
Shipped in v0.2.4. Closing during cleanup pass.