Skip to main content

Custom Composition

Custom Profile Composition

Advanced

Merge supported public profiles into one deduplicated pipeline with a safe global phase order.

Commandcusty run PROFILE PROFILE

Category

Pipelines

Quick Command

custy run PROFILE PROFILE [PROFILE ...] [OPTIONS]

profile mergededuplicationglobal ordering

Overview​

Supplying multiple public names does not run several isolated pipelines. Custy creates one combined pipeline from the union of their expanded steps.


Normalization Process

How Profiles Are Combined

1
Validate profile names
Every input must be one of the six accepted public names.
completed
2
Expand nested profiles
Replace profile references with concrete registered step definitions.
completed
3
Collect all steps
Append the expanded steps from every selected profile.
completed
4
Deduplicate by name
Keep the first instance of each repeated step name.
completed
5
Apply global order
Sort the unique steps by Custy's phase priorities before execution.
current

Worked Example: commit + push

The two profiles contribute overlapping repository and workflow steps. After expansion, deduplication, and priority sorting, Custy produces this exact 19-step sequence:

custy run commit push
text
01  ensure_git_repo_step
02  ensure_staged_changes_step
03  ensure_commit_validation_provider_step
04  ensure_commit_hook_policy_step
05  ensure_commit_message_file_step
06  ensure_commit_message_file_exists_step
07  ensure_remote_exists_step
08  prepare_version_step
09  workflow_init_step
10  generate_artifacts_step
11  edit_files_step
12  validate_edited_step
13  apply_version_step
14  generate_changelog_step
15  backup_commit_message_files_step
16  cleanup_backup_step
17  stage_step
18  commit_step
19  push_step

Reversing the input to custy run push commit currently produces the same normalized order. See Step Priority and Ordering for the priority attached to every line.


Examples

Examples

Practical command examples.

Commit and push

Preview one flow that prepares a commit and then synchronizes it.

CLI
custy --dry-run run commit push

Commit, tag, and push

Preview a merged step set that currently matches the Release profile.

CLI
custy --dry-run run commit tag push

Input order is normalized

Push is still placed after commit by global ordering.

CLI
custy --dry-run run push commit

Important Comparisons

Similar Does Not Always Mean Equivalent

commit + tag + push

The current resolved step set is equivalent to Release, but the named Release profile communicates intent more clearly.

commit + push

This is not the same as Dev: it adds commit and push validation and includes version application.

dev

This deliberate profile has its own source-defined stage list and omits version application and tag creation.

full

This is Release plus finalization; combining focused profiles does not add the finalization step.


Continue