rush-delivery
No long description provided.
Installation
dagger install github.com/BootstrapLaboratory/rush-delivery@v0.1.0Entrypoint
Return Type
RushDelivery Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 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@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
pingfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| moduleSource | Directory | - | No description provided |
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
self-checkfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| repo | Directory ! | - | No description provided |
| eventName | String ! | "push" | No description provided |
| forceTargetsJson | String ! | "[]" | No description provided |
| prBaseSha | String ! | "" | No description provided |
| deployTagPrefix | String ! | "deploy/prod" | No description provided |
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
detect --repo DIR_PATH --event-name string --force-targets-json string --pr-base-sha string --deploy-tag-prefix stringfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| releaseTargetsJson | String ! | "[]" | No description provided |
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
describe-release-targets --release-targets-json stringfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| repo | Directory ! | - | No description provided |
| ciPlanFile | File ! | - | No description provided |
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
build-deploy-targets --repo DIR_PATH --ci-plan-file file:pathfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| repo | Directory ! | - | No description provided |
| ciPlanFile | File ! | - | No description provided |
| artifactPrefix | String ! | "deploy-target" | No description provided |
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
package-deploy-targets --repo DIR_PATH --ci-plan-file file:path --artifact-prefix stringfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| repo | Directory ! | - | No description provided |
| ciPlanFile | File ! | - | No description provided |
| artifactPrefix | String ! | "deploy-target" | No description provided |
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
build-and-package-deploy-targets --repo DIR_PATH --ci-plan-file file:path --artifact-prefix stringfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| repo | Directory ! | - | No description provided |
| gitSha | String ! | - | No description provided |
| releaseTargetsJson | String ! | "[]" | No description provided |
| environment | String ! | "prod" | No description provided |
| dryRun | Boolean ! | true | No description provided |
| deployEnvFile | File | - | No description provided |
| packageManifestFile | File | - | No description provided |
| hostWorkspaceDir | String ! | "" | No description provided |
| toolchainImageProvider | String ! | "off" | No description provided |
| toolchainImagePolicy | String ! | "lazy" | No description provided |
| dockerSocket | Socket | - | 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
| Name | Type | Default Value | Description |
|---|---|---|---|
| repo | Directory ! | - | No description provided |
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
validate-metadata-contract --repo DIR_PATHfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| gitSha | String ! | - | No description provided |
| eventName | String ! | "push" | No description provided |
| forceTargetsJson | String ! | "[]" | No description provided |
| prBaseSha | String ! | "" | No description provided |
| deployTagPrefix | String ! | "deploy/prod" | No description provided |
| artifactPrefix | String ! | "deploy-target" | No description provided |
| environment | String ! | "prod" | No description provided |
| dryRun | Boolean ! | true | No description provided |
| deployEnvFile | File | - | No description provided |
| hostWorkspaceDir | String ! | "" | No description provided |
| toolchainImageProvider | String ! | "off" | No description provided |
| toolchainImagePolicy | String ! | "lazy" | No description provided |
| rushCacheProvider | String ! | "off" | No description provided |
| rushCachePolicy | String ! | "lazy" | No description provided |
| sourceMode | String ! | "local_copy" | No description provided |
| sourceRepositoryUrl | String ! | "" | No description provided |
| sourceRef | String ! | "" | No description provided |
| sourceAuthTokenEnv | String ! | "" | No description provided |
| sourceAuthUsername | String ! | "" | No description provided |
| dockerSocket | Socket | - | No description provided |
| repo | Directory | - | 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
| Name | Type | Default Value | Description |
|---|---|---|---|
| repo | Directory ! | - | No description provided |
| eventName | String ! | "pull_request" | No description provided |
| prBaseSha | String ! | "" | No description provided |
| validateTargetsJson | String ! | "[]" | No description provided |
Example
dagger -m github.com/BootstrapLaboratory/rush-delivery@a59c47b2201e274bbdf87b7fd9b45d3c3b5946e8 call \
validate --repo DIR_PATH --event-name string --pr-base-sha string --validate-targets-json stringfunc (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)
}