mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 07:35:48 +03:00
[PR #582] [MERGED] feat: Add workflow command for multi-step automation sequences #638
Labels
No labels
bug
bug
documentation
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/App-Store-Connect-CLI#638
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/582
Author: @mithileshchellappan
Created: 2/16/2026
Status: ✅ Merged
Merged: 2/18/2026
Merged by: @rudrankriyam
Base:
main← Head:feat/workflow-command📝 Commits (10+)
7a83048feat: Add workflow command for multi-step automation sequences4490d22test: Add failure handling and error reporting CLI tests86f1a77fix(workflow): tighten execution and parsing1176cb2merge: sync origin/main into feat/workflow-command184fd0bMerge remote-tracking branch 'origin/main' into feat/workflow-commandd8f585dMerge branch 'main' into feat/workflow-command1013d44fix: reject null step elements and zero stale fields in Step.UnmarshalJSONd0c0ee5fix: use slices.Clone to avoid append-on-sub-slice aliasing in cycle detection35ada17fix: sort workflow names before validation for deterministic error orderingb2f1a4ffix: reject whitespace-only keys in ParseParams📊 Changes
12 files changed (+3994 additions, -0 deletions)
View changed files
➕
internal/cli/cmdtest/workflow_test.go(+1136 -0)📝
internal/cli/docs/templates/ASC.md(+1 -0)📝
internal/cli/registry/registry.go(+2 -0)➕
internal/cli/workflow/workflow.go(+292 -0)➕
internal/workflow/env.go(+125 -0)➕
internal/workflow/env_test.go(+291 -0)➕
internal/workflow/execute.go(+184 -0)➕
internal/workflow/execute_test.go(+1076 -0)➕
internal/workflow/load.go(+62 -0)➕
internal/workflow/validate.go(+206 -0)➕
internal/workflow/validate_test.go(+552 -0)➕
internal/workflow/workflow.go(+67 -0)📄 Description
Summary
asc workflow run|validate|listcommands for defining named, multi-step automation sequences in.asc/workflow.jsoninternal/workflow/) has zero codebase imports — stdlib only, immediately extractable to its own moduleinternal/cli/workflow/) uses only 3 symbols fromsharedFeatures
KEY:VALUEorKEY=VALUE), with$VAR/${VAR}expansion"if": "VAR_NAME"skips step when variable is falsy"workflow": "name"withwith:env passing, cycle detection, max depth 16before_all,after_all,errorat the definition level--dry-runpreviews expanded commands without executing--prettyfor indentation)Test plan
internal/workflow/(64 unit tests)cmdtestcovering:KEY:VALUEandKEY=VALUE)make formatcleanASC_BYPASS_KEYCHAIN=1 make test— all 85 packages passCloses #581
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.