[PR #571] [MERGED] Profiles: add local install/list/clean commands #627

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

📋 Pull Request Information

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

Base: mainHead: profiles/local-management


📝 Commits (10+)

  • be72eae feat(profiles): add local install/list/clean commands
  • c4abad6 test(cmdtest): cover profiles local install by id
  • ccef96a Fix profiles local install/clean status reporting
  • edc4165 fix(profiles): skip and report unreadable local profiles
  • 2b883f3 Fix UUID path traversal in profiles local install
  • dc699b1 Merge pull request #573 from rudrankriyam/cursor/profiles-local-command-issues-9d52
  • d667039 Merge pull request #575 from rudrankriyam/cursor/uuid-path-traversal-b519
  • 7e8e896 Fix profiles local special-file scan and dedupe overwrite
  • c36db0a Merge pull request #577 from rudrankriyam/cursor/profile-file-system-safety-3825
  • e7c602f Fix local profile expiration boundary and safe open

📊 Changes

13 files changed (+1568 additions, -1 deletions)

View changed files

📝 go.mod (+1 -0)
📝 go.sum (+2 -0)
internal/cli/cmdtest/profiles_local_test.go (+471 -0)
internal/cli/profiles/local.go (+709 -0)
internal/cli/profiles/local_files.go (+15 -0)
internal/cli/profiles/local_parser.go (+98 -0)
internal/cli/profiles/local_scan_unix_test.go (+60 -0)
internal/cli/profiles/local_test.go (+30 -0)
internal/cli/profiles/local_uuid_test.go (+44 -0)
📝 internal/cli/profiles/profiles.go (+1 -0)
internal/cli/shared/atomic_write.go (+93 -0)
📝 internal/secureopen/secure_open_unix.go (+2 -1)
internal/secureopen/secure_open_unix_test.go (+42 -0)

📄 Description

Summary

  • Add asc profiles local install|list|clean for managing locally installed .mobileprovision files.
  • Default install directory is Xcode's ~/Library/MobileDevice/Provisioning Profiles on macOS; --install-dir supports custom locations (and is required on non-macOS).
  • clean supports --expired with --dry-run and requires --confirm for deletions.
  • Includes CMS/PKCS7 parsing of mobileprovision containers.

Closes #565.

Test plan

  • make format
  • make lint
  • ASC_BYPASS_KEYCHAIN=1 make test

🔄 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/571 **Author:** [@rudrankriyam](https://github.com/rudrankriyam) **Created:** 2/16/2026 **Status:** ✅ Merged **Merged:** 2/16/2026 **Merged by:** [@rudrankriyam](https://github.com/rudrankriyam) **Base:** `main` ← **Head:** `profiles/local-management` --- ### 📝 Commits (10+) - [`be72eae`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/be72eae774d5f5dff567ba9fb3fdb357553fa768) feat(profiles): add local install/list/clean commands - [`c4abad6`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/c4abad690af4739354bf292a50c972a89804a8d6) test(cmdtest): cover profiles local install by id - [`ccef96a`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/ccef96a220f3c2aed644d91923f80df93d2e79c6) Fix profiles local install/clean status reporting - [`edc4165`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/edc4165eaaf0c3b7a2457aa32f9bec06737a696b) fix(profiles): skip and report unreadable local profiles - [`2b883f3`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/2b883f3fe2703515d541bf906bde6e493a6c13ea) Fix UUID path traversal in profiles local install - [`dc699b1`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/dc699b182d5e03158c0e92f7e103f2c835a1f55a) Merge pull request #573 from rudrankriyam/cursor/profiles-local-command-issues-9d52 - [`d667039`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/d66703915c5bd9eec994113aa773cdf6ad79a3b8) Merge pull request #575 from rudrankriyam/cursor/uuid-path-traversal-b519 - [`7e8e896`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/7e8e896e25fc49ea2b7e181ec83450ecb3353f31) Fix profiles local special-file scan and dedupe overwrite - [`c36db0a`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/c36db0a14f16d931fa69ffb4ba5b3c3caab81baa) Merge pull request #577 from rudrankriyam/cursor/profile-file-system-safety-3825 - [`e7c602f`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/e7c602f7d30e0ab9b8b5bb0945e43537fcfea51c) Fix local profile expiration boundary and safe open ### 📊 Changes **13 files changed** (+1568 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `go.mod` (+1 -0) 📝 `go.sum` (+2 -0) ➕ `internal/cli/cmdtest/profiles_local_test.go` (+471 -0) ➕ `internal/cli/profiles/local.go` (+709 -0) ➕ `internal/cli/profiles/local_files.go` (+15 -0) ➕ `internal/cli/profiles/local_parser.go` (+98 -0) ➕ `internal/cli/profiles/local_scan_unix_test.go` (+60 -0) ➕ `internal/cli/profiles/local_test.go` (+30 -0) ➕ `internal/cli/profiles/local_uuid_test.go` (+44 -0) 📝 `internal/cli/profiles/profiles.go` (+1 -0) ➕ `internal/cli/shared/atomic_write.go` (+93 -0) 📝 `internal/secureopen/secure_open_unix.go` (+2 -1) ➕ `internal/secureopen/secure_open_unix_test.go` (+42 -0) </details> ### 📄 Description ## Summary - Add `asc profiles local install|list|clean` for managing locally installed `.mobileprovision` files. - Default install directory is Xcode's `~/Library/MobileDevice/Provisioning Profiles` on macOS; `--install-dir` supports custom locations (and is required on non-macOS). - `clean` supports `--expired` with `--dry-run` and requires `--confirm` for deletions. - Includes CMS/PKCS7 parsing of mobileprovision containers. Closes #565. ## Test plan - `make format` - `make lint` - `ASC_BYPASS_KEYCHAIN=1 make test` --- <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:50 +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#627
No description provided.