Lewati ke konten utama

Release Pipeline

Release Pipeline

Stable with Limitations

Validate, prepare, document, commit, tag, dan publish versioned release tanpa post-push finalization.

Commandcusty run release

Category

Pipeline Profile

Quick Command

custy run release [OPTIONS]

versionchangelogcommittagpush

Ringkasan​

Release adalah complete public publication profile. Profile ini mencakup repository, commit, tag, dan remote validation sebelum menerapkan version state, generate release documentation, membuat Git history, dan push ke resolved remotes.

Preview and execute
bash
custy --dry-run run release
custy run release

Exact Phase Flow

Release Profile

1
Validate all release prerequisites
Jalankan repository, pre-commit, pre-tag, dan pre-push validation subprofiles.
completed
2
Prepare release state
Resolve version, initialize workflow state, dan siapkan tag message.
completed
3
Generate and review artifacts
Generate configured artifacts, buka untuk editing, dan validasi edited files.
completed
4
Apply version
Tulis resolved version melalui active version update path.
completed
5
Generate changelog
Generate configured changelog ketika version dan command rules mengizinkannya.
completed
6
Back up and clean
Backup commit dan tag messages lalu terapkan retention cleanup.
completed
7
Commit and tag
Stage release files, buat release commit, dan buat local tag.
completed
8
Push
Publish HEAD dan eligible release tag ke resolved remotes.
current

Exact Release Step Order

Release memperluas nested validation profiles sebelum preparation dan mutation stages.

01 — ensure_git_repo_stepWajibkan Git repository.
02 — ensure_staged_changes_stepPeriksa commit staging readiness.
03 — ensure_commit_validation_provider_stepResolve built-in, Commitizen, atau Git-policy message validation.
04 — ensure_commit_hook_policy_stepResolve native hooks atau safe direct pre-commit execution.
05 — ensure_commit_message_file_stepValidasi configured commit-message file setting.
06 — ensure_commit_message_file_exists_stepWajibkan commit-message file.
07 — ensure_version_file_stepValidasi configured version file.
08 — ensure_tag_message_file_stepValidasi configured tag-message file setting.
09 — ensure_tag_message_file_exists_stepWajibkan tag-message file.
10 — ensure_remote_exists_stepWajibkan resolved Git remotes.
11 — prepare_version_stepResolve release version dan tag context.
12 — workflow_init_stepInitialize branch workflow state.
13 — prepare_tag_message_stepSiapkan tag message untuk resolved version.
14 — generate_artifacts_stepPertahankan reviewed messages dan generate hanya artifacts yang missing atau empty.
15 — edit_files_stepBuka release files untuk review dan editing.
16 — validate_edited_stepValidasi edited artifacts.
17 — apply_version_stepTerapkan resolved version melalui configured update path.
18 — generate_changelog_stepJalankan conditional changelog generation.
19 — backup_commit_message_files_stepBackup commit-message file.
20 — backup_tag_message_files_stepBackup tag-message file.
21 — cleanup_backup_stepTerapkan backup retention cleanup.
22 — stage_stepStage resolved release files.
23 — commit_stepJalankan resolved hook plan dan buat release commit.
24 — tag_stepBuat local release tag.
25 — push_stepPush HEAD dan eligible release tag ke resolved remotes.

Before You Run

Before You Begin

  • Start from reviewed Git stateRequired

    Konfirmasi branch, status, staged files, existing tags, dan remotes.

  • Validate project configurationRequired

    Periksa version strategy, paths, templates, changelog rules, dan remote policy.

  • Review message filesRequired

    Pastikan commit dan tag messages tersedia dan memenuhi configured convention.

  • Preview with dry-runRequired

    Baca setiap planned file, Git, dan remote action sebelum normal execution.

  • Plan recoveryRequired

    Ketahui cara memeriksa dan reconcile partial commit, tag, atau push.

Release atau Full?

Release berakhir setelah push. Full memuat Release stages yang sama, lalu invoke experimental branch workflow finalization. Pilih Release kecuali post-publication transition tersebut memang diperlukan dan dipahami.

Lanjutkan