Deployer: Registry-Driven Artifact Deployment#
Copies rendered Irix artifacts from the packaged out/ root to each target’s local config destination (irix.targets.Target.deploy_dest).
Selection is by target name (irix.targets.REGISTRY), driven by the irix.targets registry rather than a hand-maintained per-application method list – the old design (one Deployer method per application, selected by name) predates that registry and has been retired.
- class irix.deploy.Deployer(*, actions: list[str] = [], verbose: bool = False, dry: bool = False)#
Copies every selected target’s rendered artifacts to their deploy destinations.
- actions#
Target names to deploy (
irix.targets.REGISTRYkeys). Empty means “every registered target that has at least one non-Nonedeploy_dest”.- Type:
list[str]
- verbose#
Print each real copy performed.
- Type:
bool
- dry#
Print what would be copied without touching the filesystem.
- Type:
bool
I Deployment#
- Deployer.__call__() int#
Run the deployment and return the count of artifacts deployed.
Renders both modes of every selected target once to discover its deploy destinations, then validates the entire plan against the packaged
out/before copying anything: if any source artifact is missing, nothing is copied, underdryor for real alike – a partialout/used to overwrite a primary config likealacritty.tomland then crash mid-run with a raw traceback, and--dryreported that same run as a clean success).In a dev checkout (
packaged_out_root()falling back tosource_out_root()), also compares each artifact being deployed against a fresh render and warns on stale ones before copying – still proceeds, sincedeployfrom a source checkout is meant to work even whenirix generatewas skipped. Wheel installs have no fresh render to compare against and are skipped silently.- Returns:
The number of artifact files (notionally, under
dry) copied.- Raises:
SystemExit – With code 1, if any selected artifact’s source is missing from the packaged
out/– printed as onemissing artifact: <relpath> (run irix generate)line per file, to stderr.
II Main#
- irix.deploy.main(*vargs: str) None#
CLI entry point: run the selected deployment actions on the local system.