create-new-release

作者: clickhouse

Create and push a new semver release tag. Asks for release type (patch/minor/major), validates commit exists on remote, bumps version, and pushes the tag.

npx skills add https://github.com/clickhouse/pg_stat_ch --skill create-new-release

Create New Release

Create and push a new semantic version release tag.

Steps

  1. Ask release type: Use AskUserQuestion to ask if this is a patch, minor, or major release.

  2. Fetch latest tags from remote:

    git fetch --tags origin
    
  3. Get the latest semver tag (assumes v prefix like v1.2.3):

    git tag --sort=-version:refname -l 'v*' | head -1
    
  4. Parse and bump version based on user selection:

    • patch: v1.2.3v1.2.4
    • minor: v1.2.3v1.3.0
    • major: v1.2.3v2.0.0
  5. Verify META.json version matches the new tag: Read META.json and check that both version and provides.pg_stat_ch.version match the new version (without the v prefix). If they don't match, abort and tell the user to update META.json first — PGXN uses this file for the release version.

  6. Validate current commit exists on remote:

    git fetch origin
    git branch -r --contains HEAD
    

    If no remote branch contains HEAD, abort with an error asking the user to push their commits first.

  7. Create and push the tag:

    git tag -a <new_version> -m "Release <new_version>"
    git push origin <new_version>
    
  8. Report success with the new tag name.

Version Parsing

Parse version from tag like v1.2.3:

  • Extract numbers after v prefix
  • Split by . to get major, minor, patch components
  • Handle edge case: if no tags exist, start at v0.1.0

Error Handling

  • If current commit is not on remote: "Current commit is not pushed to remote. Please push your changes first."
  • If tag already exists: "Tag already exists. Please check existing tags."
  • If git operations fail: Report the specific error.

来自 clickhouse 的更多技能

clickhouse-best-practices
clickhouse
28条ClickHouse最佳实践规则,按模式设计、查询优化和数据摄入策略组织。涵盖三个关键领域:主键与数据类型选择(不可变设计决策)、JOIN与查询优化、批量插入与避免突变。包含28条按影响程度排序的规则,其中模式设计和查询优化规则因ClickHouse的列式存储和稀疏索引机制被标记为关键。提供结构化审查流程用于...
official
clickhouse-js-node-coding
clickhouse
Write idiomatic application code with the ClickHouse Node.js client (`@clickhouse/client`). Use this skill whenever a user is *building* against the Node.js…
official
clickhousectl-cloud-deploy
clickhouse
当用户希望将ClickHouse部署到云端、投入生产环境、使用ClickHouse Cloud、托管托管式ClickHouse服务,或从本地迁移时使用…
official
clickstack-otel-collector
clickhouse
Use when a user wants to wire an OpenTelemetry collector into a Managed ClickStack service on ClickHouse Cloud, either by deploying a new local collector…
official
infra-clickhouse
clickhouse
使用 clickhousectl CLI 设置并管理 ClickHouse — 安装并运行本地 ClickHouse 服务器用于开发,以及创建托管的 ClickHouse Cloud…
official
infra-postgres
clickhouse
Sets up and manages Postgres using the clickhousectl CLI — runs a local Docker-backed Postgres for development, and creates and operates managed ClickHouse…
official
clickhouse-best-practices
clickhouse
在审查ClickHouse模式、查询或配置时必须使用。包含31条在提供建议前必须检查的规则。始终阅读…
official
setup
clickhouse
引导用户完成此插件附带的ClickHouse MCP服务器连接的设置。在用户首次安装插件或遇到问题时使用…
official