Skip to main content

Release Lifecycle

Release Lifecycle

Stable with Limitations

Follow a versioned release from preflight checks through local history and remote publication.

Commandcusty run release

Category

Core Concepts

Quick Command

custy --dry-run run release [OPTIONS]

preflightrelease artifactspublication

Overview

The Release profile coordinates Custy's complete versioned publication path. It validates the repository, prepares a release version and messages, generates and reviews artifacts, applies the version, updates the changelog, creates a commit and tag, and pushes the result.


Lifecycle Phases

Release Profile

1
Preflight validation
Validate the repository and the prerequisites for commit, tag, and push operations.
current
2
Prepare release context
Resolve the version, initialize workflow state, and prepare the tag message.
pending
3
Generate and review artifacts
Generate editable release artifacts, open them for review, and validate the edited result.
pending
4
Apply version and changelog
Synchronize the resolved version and update CHANGELOG.md from repository history.
pending
5
Back up and clean
Back up commit and tag messages, then prune retained backup files according to policy.
pending
6
Create local history
Stage the release changes, create the release commit, and create the local tag.
pending
7
Publish
Push HEAD and the release tag to the resolved remote destinations.
pending

State Created Along the Way

A release is a sequence of durable states, not one indivisible transaction.

Release Outputs

Prepared Context

A resolved version, workflow context, and reviewed commit and tag messages.

Project Artifacts

Updated version-bearing files, generated release artifacts, and CHANGELOG.md.

Recovery Files

Commit-message and tag-message backups subject to the configured retention policy.

Git Index

The selected release changes staged before commit creation.

Local History

A release commit and local release tag created after validation.

Remote State

Published HEAD and tag references at every resolved destination that completed successfully.


Release and Full Have Different Boundaries

The registered Release profile ends after push. The Full profile runs the same release path and then invokes an additional experimental workflow-finalization step. Choose Full only when that finalization is intentionally required and its current limitation is acceptable.

Review before publication
bash
# Inspect current repository state
git status --short
git remote -v

# Resolve and preview the release

custy --dry-run run release

# Run normally only after the preview is understood

custy run release

Continue