Structure
Workflow
A named sequence of actions forming a release workflow.
struct WorkflowOverview
Workflows are defined in Shipfile.yml or programmatically using the @WorkflowBuilder DSL.
Usage
let beta = Workflow("beta") {
WorkflowStep(action: "version", options: .object(["bump": .string("build")]))
WorkflowStep(action: "archive")
WorkflowStep(action: "export")
WorkflowStep(action: "testflight")
}
let result = try await beta.run(context: context, registry: registry)Topics
Initializers
init(String, buildVariant: String?, flavor: String?, app: AppConfig?, build: BuildConfig?, archive: ArchiveConfig?, export: ExportConfig?, codeSigning: CodeSigningConfig?, () -> [WorkflowStep])Initialize using the
@WorkflowBuilderresult-builder DSL.init(String, steps: [WorkflowStep], buildVariant: String?, flavor: String?, app: AppConfig?, build: BuildConfig?, archive: ArchiveConfig?, export: ExportConfig?, codeSigning: CodeSigningConfig?)Initialize from an explicit array (used by the YAML config decoder).
Instance Properties
let app: AppConfig?Optional app identity override (scheme, bundle ID, team) for all steps in this workflow.
let archive: ArchiveConfig?Optional archive override for all steps in this workflow.
let build: BuildConfig?Optional build setting override for all steps in this workflow.
let buildVariant: String?Optional build variant override for all steps in this workflow. When set, overrides
config.androidBuildVariantin theActionContextpassed to each step.let codeSigning: CodeSigningConfig?Optional code-signing override for all steps in this workflow.
let export: ExportConfig?Optional export override for all steps in this workflow.
let flavor: String?Optional product flavor override for all steps in this workflow. When set, overrides
config.androidGradleProperties["flavor"]in theActionContext.let name: StringThe unique workflow name, referenced by
shipit run <workflow>.let steps: [WorkflowStep]The ordered sequence of steps in this workflow.
Instance Methods
func run(context: ActionContext, registry: ActionRegistry) async throws -> WorkflowResultRun all steps in this workflow sequentially.
Relationships
Conforms To
Swift.SendableSwift.SendableMetatype