Skip to content

Latest commit

 

History

History
109 lines (72 loc) · 2.14 KB

File metadata and controls

109 lines (72 loc) · 2.14 KB

Commands

init

Set up auto-release in your repository:

auto-release init

Interactively configures projects, versioning strategies, and git platform.

check

Validate configuration, change files, and release groups:

auto-release check

Validations:

  • Component version consistency
  • Change file content
  • Group name conflicts (group names cannot match project names)
  • Similar group names (case-insensitive)
  • Group name special characters

Use in CI to ensure everything is valid before merging.

record-change

Create a new change file:

# Interactive
auto-release record-change

# Non-interactive
auto-release record-change --project my-app --type minor

list

List all projects managed by auto-release with their current versions, grouped by release_group:

auto-release list

Output example:

found 5 projects in 3 groups:

Group: frontend (2 projects)
  web-app (1.2.3)
    ./apps/web/package.json
  mobile-app (2.0.1)
    ./apps/mobile/package.json

Group: api-service (1 project)
  api-service (0.5.0)
    ./services/api/Cargo.toml

generate-release-pr

Create or update release PRs based on change files:

# Preview changes
auto-release generate-release-pr --dry-run

# Create/update PRs
auto-release generate-release-pr

Projects are grouped by release_group in the configuration. Projects in the same group are released together in a single PR.

PR Structure:

  • Branch: release/<group-name> (e.g., release/frontend)
  • Title: release: project-a@1.0.0, project-b@2.0.0 (lists all projects with versions)
  • Body: Contains sections for each project's changelog

tag-release-commit

Create git tags and releases for version changes:

# Preview what would be tagged
auto-release tag-release-commit --dry-run

# Create tags and releases
auto-release tag-release-commit

Compares HEAD with HEAD^1 to detect version changes. Creates tags in format project-name@version.

manual-release

Create a manual release using existing change files:

auto-release manual-release

Useful for local testing or emergency releases.