Dagger
Search

rush-delivery

No long description provided.

Installation

dagger install github.com/BootstrapLaboratory/rush-delivery@v0.2.0

Entrypoint

Return Type
RushDelivery
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
func (m *MyModule) Example() *dagger.RushDelivery  {
	return dag.
			RushDelivery()
}
@function
def example() -> dagger.RushDelivery:
	return (
		dag.rush_delivery()
	)
@func()
example(): RushDelivery {
	return dag
		.rushDelivery()
}

Types

RushDelivery 🔗

ping() 🔗

Returns a simple marker proving the Dagger module is callable.

Return Type
String !
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 ping
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			RushDelivery().
			Ping(ctx)
}
@function
async def example() -> str:
	return await (
		dag.rush_delivery()
		.ping()
	)
@func()
async example(): Promise<string> {
	return dag
		.rushDelivery()
		.ping()
}

selfCheck() 🔗

Runs the framework’s local typecheck and unit tests.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
moduleSourceDirectory -No description provided
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 self-check
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			RushDelivery().
			SelfCheck(ctx)
}
@function
async def example() -> str:
	return await (
		dag.rush_delivery()
		.self_check()
	)
@func()
async example(): Promise<string> {
	return dag
		.rushDelivery()
		.selfCheck()
}

detect() 🔗

Computes the canonical CI plan JSON for detect/package/deploy handoff.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
repoDirectory !-No description provided
eventNameString !"push"No description provided
forceTargetsJsonString !"[]"No description provided
prBaseShaString !""No description provided
deployTagPrefixString !"deploy/prod"No description provided
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 detect --repo DIR_PATH --event-name string --force-targets-json string --pr-base-sha string --deploy-tag-prefix string
func (m *MyModule) Example(ctx context.Context, repo *dagger.Directory, eventName string, forceTargetsJson string, prBaseSha string, deployTagPrefix string) string  {
	return dag.
			RushDelivery().
			Detect(ctx, repo, eventName, forceTargetsJson, prBaseSha, deployTagPrefix)
}
@function
async def example(repo: dagger.Directory, event_name: str, force_targets_json: str, pr_base_sha: str, deploy_tag_prefix: str) -> str:
	return await (
		dag.rush_delivery()
		.detect(repo, event_name, force_targets_json, pr_base_sha, deploy_tag_prefix)
	)
@func()
async example(repo: Directory, eventName: string, forceTargetsJson: string, prBaseSha: string, deployTagPrefix: string): Promise<string> {
	return dag
		.rushDelivery()
		.detect(repo, eventName, forceTargetsJson, prBaseSha, deployTagPrefix)
}

describeReleaseTargets() 🔗

Validates and normalizes a release target selection for future planning work.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
releaseTargetsJsonString !"[]"No description provided
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 describe-release-targets --release-targets-json string
func (m *MyModule) Example(ctx context.Context, releaseTargetsJson string) string  {
	return dag.
			RushDelivery().
			DescribeReleaseTargets(ctx, releaseTargetsJson)
}
@function
async def example(release_targets_json: str) -> str:
	return await (
		dag.rush_delivery()
		.describe_release_targets(release_targets_json)
	)
@func()
async example(releaseTargetsJson: string): Promise<string> {
	return dag
		.rushDelivery()
		.describeReleaseTargets(releaseTargetsJson)
}

buildDeployTargets() 🔗

Runs the generic Rush build stage for deploy targets selected by ci-plan.json.

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
repoDirectory !-No description provided
ciPlanFileFile !-No description provided
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 build-deploy-targets --repo DIR_PATH --ci-plan-file file:path
func (m *MyModule) Example(repo *dagger.Directory, ciPlanFile *dagger.File) *dagger.Directory  {
	return dag.
			RushDelivery().
			BuildDeployTargets(repo, ciPlanFile)
}
@function
def example(repo: dagger.Directory, ci_plan_file: dagger.File) -> dagger.Directory:
	return (
		dag.rush_delivery()
		.build_deploy_targets(repo, ci_plan_file)
	)
@func()
example(repo: Directory, ciPlanFile: File): Directory {
	return dag
		.rushDelivery()
		.buildDeployTargets(repo, ciPlanFile)
}

packageDeployTargets() 🔗

Materializes deploy package artifacts for deploy targets selected by ci-plan.json.

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
repoDirectory !-No description provided
ciPlanFileFile !-No description provided
artifactPrefixString !"deploy-target"No description provided
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 package-deploy-targets --repo DIR_PATH --ci-plan-file file:path --artifact-prefix string
func (m *MyModule) Example(repo *dagger.Directory, ciPlanFile *dagger.File, artifactPrefix string) *dagger.Directory  {
	return dag.
			RushDelivery().
			PackageDeployTargets(repo, ciPlanFile, artifactPrefix)
}
@function
def example(repo: dagger.Directory, ci_plan_file: dagger.File, artifact_prefix: str) -> dagger.Directory:
	return (
		dag.rush_delivery()
		.package_deploy_targets(repo, ci_plan_file, artifact_prefix)
	)
@func()
example(repo: Directory, ciPlanFile: File, artifactPrefix: string): Directory {
	return dag
		.rushDelivery()
		.packageDeployTargets(repo, ciPlanFile, artifactPrefix)
}

buildAndPackageDeployTargets() 🔗

Runs build and package as separate stages while exporting the final packaged workspace once.

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
repoDirectory !-No description provided
ciPlanFileFile !-No description provided
artifactPrefixString !"deploy-target"No description provided
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 build-and-package-deploy-targets --repo DIR_PATH --ci-plan-file file:path --artifact-prefix string
func (m *MyModule) Example(repo *dagger.Directory, ciPlanFile *dagger.File, artifactPrefix string) *dagger.Directory  {
	return dag.
			RushDelivery().
			BuildAndPackageDeployTargets(repo, ciPlanFile, artifactPrefix)
}
@function
def example(repo: dagger.Directory, ci_plan_file: dagger.File, artifact_prefix: str) -> dagger.Directory:
	return (
		dag.rush_delivery()
		.build_and_package_deploy_targets(repo, ci_plan_file, artifact_prefix)
	)
@func()
example(repo: Directory, ciPlanFile: File, artifactPrefix: string): Directory {
	return dag
		.rushDelivery()
		.buildAndPackageDeployTargets(repo, ciPlanFile, artifactPrefix)
}

deployRelease() 🔗

Executes the release plan in wave order, applying generic target runtime handling in parallel within each wave.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
repoDirectory !-No description provided
gitShaString !-No description provided
releaseTargetsJsonString !"[]"No description provided
environmentString !"prod"No description provided
dryRunBoolean !trueNo description provided
deployEnvFileFile -No description provided
packageManifestFileFile -No description provided
hostWorkspaceDirString !""No description provided
toolchainImageProviderString !"off"No description provided
toolchainImagePolicyString !"lazy"No description provided
dockerSocketSocket -No description provided
runtimeFilesDirectory -No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(ctx context.Context, repo *dagger.Directory, gitSha string, releaseTargetsJson string, environment string, dryRun bool, hostWorkspaceDir string, toolchainImageProvider string, toolchainImagePolicy string) string  {
	return dag.
			RushDelivery().
			DeployRelease(ctx, repo, gitSha, releaseTargetsJson, environment, dryRun, hostWorkspaceDir, toolchainImageProvider, toolchainImagePolicy)
}
@function
async def example(repo: dagger.Directory, git_sha: str, release_targets_json: str, environment: str, dry_run: bool, host_workspace_dir: str, toolchain_image_provider: str, toolchain_image_policy: str) -> str:
	return await (
		dag.rush_delivery()
		.deploy_release(repo, git_sha, release_targets_json, environment, dry_run, host_workspace_dir, toolchain_image_provider, toolchain_image_policy)
	)
@func()
async example(repo: Directory, gitSha: string, releaseTargetsJson: string, environment: string, dryRun: boolean, hostWorkspaceDir: string, toolchainImageProvider: string, toolchainImagePolicy: string): Promise<string> {
	return dag
		.rushDelivery()
		.deployRelease(repo, gitSha, releaseTargetsJson, environment, dryRun, hostWorkspaceDir, toolchainImageProvider, toolchainImagePolicy)
}

validateMetadataContract() 🔗

Validates cross-file Dagger metadata contracts before running release stages.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
repoDirectory !-No description provided
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 validate-metadata-contract --repo DIR_PATH
func (m *MyModule) Example(ctx context.Context, repo *dagger.Directory) string  {
	return dag.
			RushDelivery().
			ValidateMetadataContract(ctx, repo)
}
@function
async def example(repo: dagger.Directory) -> str:
	return await (
		dag.rush_delivery()
		.validate_metadata_contract(repo)
	)
@func()
async example(repo: Directory): Promise<string> {
	return dag
		.rushDelivery()
		.validateMetadataContract(repo)
}

workflow() 🔗

Runs the deploy-oriented workflow as one Dagger composition: detect, build, package, then deploy.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
gitShaString !-No description provided
eventNameString !"push"No description provided
forceTargetsJsonString !"[]"No description provided
prBaseShaString !""No description provided
deployTagPrefixString !"deploy/prod"No description provided
artifactPrefixString !"deploy-target"No description provided
environmentString !"prod"No description provided
dryRunBoolean !trueNo description provided
deployEnvFileFile -No description provided
hostWorkspaceDirString !""No description provided
toolchainImageProviderString !"off"No description provided
toolchainImagePolicyString !"lazy"No description provided
rushCacheProviderString !"off"No description provided
rushCachePolicyString !"lazy"No description provided
sourceModeString !"local_copy"No description provided
sourceRepositoryUrlString !""No description provided
sourceRefString !""No description provided
sourceAuthTokenEnvString !""No description provided
sourceAuthUsernameString !""No description provided
dockerSocketSocket -No description provided
repoDirectory -No description provided
runtimeFilesDirectory -No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(ctx context.Context, gitSha string, eventName string, forceTargetsJson string, prBaseSha string, deployTagPrefix string, artifactPrefix string, environment string, dryRun bool, hostWorkspaceDir string, toolchainImageProvider string, toolchainImagePolicy string, rushCacheProvider string, rushCachePolicy string, sourceMode string, sourceRepositoryUrl string, sourceRef string, sourceAuthTokenEnv string, sourceAuthUsername string) string  {
	return dag.
			RushDelivery().
			Workflow(ctx, gitSha, eventName, forceTargetsJson, prBaseSha, deployTagPrefix, artifactPrefix, environment, dryRun, hostWorkspaceDir, toolchainImageProvider, toolchainImagePolicy, rushCacheProvider, rushCachePolicy, sourceMode, sourceRepositoryUrl, sourceRef, sourceAuthTokenEnv, sourceAuthUsername)
}
@function
async def example(git_sha: str, event_name: str, force_targets_json: str, pr_base_sha: str, deploy_tag_prefix: str, artifact_prefix: str, environment: str, dry_run: bool, host_workspace_dir: str, toolchain_image_provider: str, toolchain_image_policy: str, rush_cache_provider: str, rush_cache_policy: str, source_mode: str, source_repository_url: str, source_ref: str, source_auth_token_env: str, source_auth_username: str) -> str:
	return await (
		dag.rush_delivery()
		.workflow(git_sha, event_name, force_targets_json, pr_base_sha, deploy_tag_prefix, artifact_prefix, environment, dry_run, host_workspace_dir, toolchain_image_provider, toolchain_image_policy, rush_cache_provider, rush_cache_policy, source_mode, source_repository_url, source_ref, source_auth_token_env, source_auth_username)
	)
@func()
async example(gitSha: string, eventName: string, forceTargetsJson: string, prBaseSha: string, deployTagPrefix: string, artifactPrefix: string, environment: string, dryRun: boolean, hostWorkspaceDir: string, toolchainImageProvider: string, toolchainImagePolicy: string, rushCacheProvider: string, rushCachePolicy: string, sourceMode: string, sourceRepositoryUrl: string, sourceRef: string, sourceAuthTokenEnv: string, sourceAuthUsername: string): Promise<string> {
	return dag
		.rushDelivery()
		.workflow(gitSha, eventName, forceTargetsJson, prBaseSha, deployTagPrefix, artifactPrefix, environment, dryRun, hostWorkspaceDir, toolchainImageProvider, toolchainImagePolicy, rushCacheProvider, rushCachePolicy, sourceMode, sourceRepositoryUrl, sourceRef, sourceAuthTokenEnv, sourceAuthUsername)
}

validate() 🔗

Runs Dagger-owned pull-request validation for affected Rush projects.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
repoDirectory !-No description provided
eventNameString !"pull_request"No description provided
prBaseShaString !""No description provided
validateTargetsJsonString !"[]"No description provided
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@45cb425b33919a1d249b681ad5e37ab526db6da8 call \
 validate --repo DIR_PATH --event-name string --pr-base-sha string --validate-targets-json string
func (m *MyModule) Example(ctx context.Context, repo *dagger.Directory, eventName string, prBaseSha string, validateTargetsJson string) string  {
	return dag.
			RushDelivery().
			Validate(ctx, repo, eventName, prBaseSha, validateTargetsJson)
}
@function
async def example(repo: dagger.Directory, event_name: str, pr_base_sha: str, validate_targets_json: str) -> str:
	return await (
		dag.rush_delivery()
		.validate(repo, event_name, pr_base_sha, validate_targets_json)
	)
@func()
async example(repo: Directory, eventName: string, prBaseSha: string, validateTargetsJson: string): Promise<string> {
	return dag
		.rushDelivery()
		.validate(repo, eventName, prBaseSha, validateTargetsJson)
}