zoryn-submit(1)

ZORYN-SUBMIT(1) Zoryn Manual ZORYN-SUBMIT(1)

NAME

zoryn-submit - Commit, tag, push and submit package for build.

SYNOPSIS

zoryn submit [OPTION]…

DESCRIPTION

Full build cycle for the package in current directory: commit, tag, push to gitery, and submit for build on gyle.

By default, creates a task but does not run it (test-only mode). Use --run to start the build, and --commit to publish instead of test-only. Default behavior can be configured in ~/.zoryn [submit] section.

With -b submits to specified repository and automatically adds --deps on tasks from fresher repositories. Multiple repositories can be specified as comma-separated list (e.g., -b sisyphus,p11), each subsequent submit depends on the previous task. Use --no-deps to skip setting dependencies on tasks found in fresher repositories, e.g. for a test-only build in a stable branch before the package reaches sisyphus.

WORKFLOW

This command performs the following steps:

1.
Detect project name from gitery remote or spec file
1.5
Resolve replace target (when --replace is used, before any mutations)
2.
Commit uncommitted changes with gear-commit
3.
Create gear tag
4.
Ensure gitery remote exists (init-db if needed)
5.
Push branch to gitery
6.
Push tags to gitery
7.
Find upstream dependencies for stable branches
8.
Determine build reason for stable branches
9.
Start build on gyle

BUILD REASON

When submitting to stable branches (p11, p10, etc.), build reason is detected automatically: new version, bugfix release, or new package. If CVEs are found in spec changelog between versions, reason is marked 'with security fixes'.

OPTIONS

--allow-overwrite-tag
Force-recreate an existing local tag, bypassing the gears/ancestor checks. Use when you know the stale tag does not share lineage with HEAD.
-B REPO, --branch=REPO
Target repository or comma-separated list of repositories (e.g., sisyphus,p11). Default: sisyphus.
--batch-pkgs=PKGS
Build/submit only specified batch values (comma-separated). Values must exist in [batch] section of .gear/version-up.
-C DIR
Change to directory DIR before running.
--commit
Mark task for publishing (opposite of --test-only).
-d, --debug
Enable debug output.
--dry-run
Show what would be done without making any changes.
-m MESSAGE, --message=MESSAGE
Build reason passed to gyle when running the task (overrides the auto-detected reason for stable branches). Use -m - to read from stdin. Supports multi-word messages in quotes.
-n, --no-run
Don't run the task (override config).
--no-deps
Don't set dependencies on tasks found in fresher repositories. Upstream tasks are still searched and shown, but the new task is created without --deps, so a test-only build in a stable branch is not blocked by a pending sisyphus task.
--no-edit-commit
Do not open editor when committing (for automation).
--replace[=TASK_ID[:N]] (default=)
Replace subtask in existing task. Without argument, auto-finds task and subtask by current package. With TASK_ID, replaces in specified task. With TASK_ID:N, also specifies subtask number.
--run
Run the task after creating/modifying it.
--skip-check
Skip spec validation checks before submit.
--test-only
Mark task as test-only (don't publish).
-V
Show version information.
--with=SPEC
Add to existing task. SPEC syntax: PKG (find task, append), ^PKG (find task, before PKG), PKG: (find task, after PKG), TASK_ID (append to task), TASK_ID:REF (after REF), TASK_ID^REF (before REF). PKG is a package name or pkg.git=tag. REF is a package name, subtask number, or pkg.git=tag.

COMMON OPTIONS

--help[=FMT] (default=auto)
Show this help in format FMT. The value FMT must be one of auto, pager, groff or plain. With auto, the format is pager or plain whenever the TERM env var is dumb or undefined.
--version
Show version information.

EXIT STATUS

zoryn submit exits with:

0
on success.
123
on indiscriminate errors reported on standard error.
124
on command line parsing errors.
125
on unexpected internal errors (bugs).

EXAMPLES

Create task (default: don't run, test-only mode):


zoryn submit

Create and run test build:


zoryn submit --run

Create and run for publishing:


zoryn submit --run --commit

Submit to p11 (auto-adds --deps on sisyphus tasks):


zoryn submit -B p11

Test build in p11 without a dependency on the sisyphus task:


zoryn submit -B p11 --run --no-deps

Submit to multiple repos with dependency chain:


zoryn submit -B sisyphus,p11

Add to existing task containing another package (append to end):


zoryn submit --with libva

Add before a specific package in task:


zoryn submit --with ^libva

Add after a specific package in task:


zoryn submit --with libva:

Add to specific task by ID:


zoryn submit --with 12345

Add before a subtask in specific task:


zoryn submit --with 12345^libva

Add after a subtask in specific task:


zoryn submit --with 12345:libva

Replace subtask in existing task:


zoryn submit --replace

Replace subtask and run:


zoryn submit --replace --run

Replace subtask in specific task:


zoryn submit --replace=12345

Replace specific subtask in task:


zoryn submit --replace=12345:3

Run with an explicit build reason for a stable branch:


zoryn submit -B p11 --run -m "fix CVE-2026-0001"

Read the build reason from stdin:


echo "long reason" | zoryn submit -B p11 --run -m -

Explicitly don't run (override config):


zoryn submit --no-run

Preview all actions without executing:


zoryn submit --dry-run

SEE ALSO

zoryn-up(1), zoryn-task(1)

zoryn(1)

Zoryn 0.46.0