SuperAPI AI Directory

create-new-release

General & other

View repository

Updated 10-15 19:49

About this skill

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
    
  1. Parse and bump version based on user selection:

    • patch: v1.2.3 → v1.2.4
    • minor: v1.2.3 → v1.3.0
    • major: v1.2.3 → v2.0.0
  2. 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.

  3. 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.

  4. Create and push the tag:

    git tag -a <new_version> -m "Release <new_version>"
    git push origin <new_version>
    
  5. 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.