create-new-release

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.

Больше skills от 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
Sets up and manages ClickHouse using the clickhousectl CLI — installs and runs a local ClickHouse server for development, and creates managed 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