[PR #534] [MERGED] Exit code parity #598

Closed
opened 2026-02-26 22:31:42 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/534
Author: @rudrankriyam
Created: 2/14/2026
Status: Merged
Merged: 2/14/2026
Merged by: @rudrankriyam

Base: mainHead: cursor/exit-code-parity-c50a


📝 Commits (5)

  • 3954c79 test: require usage-class validation errors
  • 9616241 fix: map CLI validation failures to usage errors
  • 615e175 test: stabilize auth usage parity exit-code case
  • 849464d test: align cmdtest usage-validation expectations
  • e686a32 Merge remote-tracking branch 'origin/main' into cursor/exit-code-parity-c50a

📊 Changes

12 files changed (+339 additions, -101 deletions)

View changed files

📝 internal/cli/apps/app_info.go (+10 -10)
📝 internal/cli/auth/auth.go (+7 -7)
📝 internal/cli/auth/auth_test.go (+56 -21)
📝 internal/cli/cmdtest/commands_test.go (+104 -29)
📝 internal/cli/cmdtest/exit_codes_test.go (+70 -0)
📝 internal/cli/cmdtest/remaining_next_validation_phase63_test.go (+41 -5)
📝 internal/cli/performance/performance_download.go (+6 -6)
📝 internal/cli/publish/publish.go (+7 -7)
📝 internal/cli/shared/errors.go (+22 -0)
📝 internal/cli/submit/submit.go (+4 -4)
📝 internal/cli/submit/submit_test.go (+6 -6)
📝 internal/cli/xcodecloud/xcode_cloud.go (+6 -6)

📄 Description

Summary

Standardizes CLI usage validation errors to consistently return exit code 2 (via flag.ErrHelp) for invalid command invocations. This includes:

  • Introducing shared.UsageError/UsageErrorf for consistent error handling.
  • Updating submit, auth, app-info, performance, xcode-cloud, and publish commands to use these helpers for usage-related validation failures (e.g., conflicting flags, invalid values).
  • Expanding and updating regression tests in submit_test.go, auth_test.go, and cmdtest to assert the new exit code 2 behavior.

Validation

  • make format
  • make lint
  • make test
  • Black-box binary checks confirmed exit code 2 for representative invalid invocations across affected commands.

Wall of Apps (only if this PR adds/updates a Wall app)

  • I edited docs/wall-of-apps.json (not the generated Wall block in README.md directly)
  • I ran make update-wall-of-apps
  • I committed all generated files:
    • docs/wall-of-apps.json
    • README.md

Open in Cursor Open in Web


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/534 **Author:** [@rudrankriyam](https://github.com/rudrankriyam) **Created:** 2/14/2026 **Status:** ✅ Merged **Merged:** 2/14/2026 **Merged by:** [@rudrankriyam](https://github.com/rudrankriyam) **Base:** `main` ← **Head:** `cursor/exit-code-parity-c50a` --- ### 📝 Commits (5) - [`3954c79`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/3954c7987de3d53bd9649f6c294de68c00eeef61) test: require usage-class validation errors - [`9616241`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/9616241efeec633d8af8cdb88045b104068ff94d) fix: map CLI validation failures to usage errors - [`615e175`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/615e175e878673c2a019c434f04f8058e1f3a3ff) test: stabilize auth usage parity exit-code case - [`849464d`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/849464d73a19c2d63dacf9c8e099f018f5884ad7) test: align cmdtest usage-validation expectations - [`e686a32`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/e686a3201c60b3e62ac3ba2b349a3728907220df) Merge remote-tracking branch 'origin/main' into cursor/exit-code-parity-c50a ### 📊 Changes **12 files changed** (+339 additions, -101 deletions) <details> <summary>View changed files</summary> 📝 `internal/cli/apps/app_info.go` (+10 -10) 📝 `internal/cli/auth/auth.go` (+7 -7) 📝 `internal/cli/auth/auth_test.go` (+56 -21) 📝 `internal/cli/cmdtest/commands_test.go` (+104 -29) 📝 `internal/cli/cmdtest/exit_codes_test.go` (+70 -0) 📝 `internal/cli/cmdtest/remaining_next_validation_phase63_test.go` (+41 -5) 📝 `internal/cli/performance/performance_download.go` (+6 -6) 📝 `internal/cli/publish/publish.go` (+7 -7) 📝 `internal/cli/shared/errors.go` (+22 -0) 📝 `internal/cli/submit/submit.go` (+4 -4) 📝 `internal/cli/submit/submit_test.go` (+6 -6) 📝 `internal/cli/xcodecloud/xcode_cloud.go` (+6 -6) </details> ### 📄 Description ## Summary Standardizes CLI usage validation errors to consistently return exit code `2` (via `flag.ErrHelp`) for invalid command invocations. This includes: - Introducing `shared.UsageError/UsageErrorf` for consistent error handling. - Updating `submit`, `auth`, `app-info`, `performance`, `xcode-cloud`, and `publish` commands to use these helpers for usage-related validation failures (e.g., conflicting flags, invalid values). - Expanding and updating regression tests in `submit_test.go`, `auth_test.go`, and `cmdtest` to assert the new exit code `2` behavior. ## Validation - [x] `make format` - [x] `make lint` - [x] `make test` - [x] Black-box binary checks confirmed exit code `2` for representative invalid invocations across affected commands. ## Wall of Apps (only if this PR adds/updates a Wall app) - [ ] I edited `docs/wall-of-apps.json` (not the generated Wall block in `README.md` directly) - [ ] I ran `make update-wall-of-apps` - [ ] I committed all generated files: - `docs/wall-of-apps.json` - `README.md` --- <p><a href="https://cursor.com/background-agent?bcId=bc-83da15c9-b1b9-4fab-a2c4-ccd55ce8f817"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/agents?id=bc-83da15c9-b1b9-4fab-a2c4-ccd55ce8f817"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a></p> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 22:31:42 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#598
No description provided.