[PR #721] feat: add Swift helper integration for enhanced iOS workflow support #738

Open
opened 2026-02-26 22:32:20 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/721
Author: @dl-alexandre
Created: 2/21/2026
Status: 🔄 Open

Base: mainHead: main


📝 Commits (10+)

  • dbc403d feat: add Swift helper integration for enhanced iOS workflow support
  • d90dd50 refactor: remove CLI-wrapping Swift helpers, keep native-framework ones
  • 1504f23 bench: add benchmarks for keychain, screenshot framing, and video encoding
  • 31e2dab ci: improve benchmark CI to run keychain benchmarks and show summary
  • 5cd1d60 Merge pull request #2 from dl-alexandre/claude/resolve-pr-721-bscTt
  • 9a91f8e Merge branch 'main' into main
  • e40d761 feat: add Swift helper performance optimizations
  • 49aa750 fix: update .golangci.yml to v2 format for golangci-lint v2.x compatibility
  • 76aefe2 fix: update .golangci.yml to v2 format for golangci-lint v2.x compatibility
  • 0b244fa fix: add explicit error ignores for errcheck linter compliance

📊 Changes

107 files changed (+4669 additions, -231 deletions)

View changed files

📝 .github/PULL_REQUEST_TEMPLATE.md (+1 -1)
📝 .github/workflows/main-branch.yml (+8 -14)
📝 .github/workflows/pr-checks.yml (+9 -33)
📝 .github/workflows/release.yml (+48 -5)
.github/workflows/swift-helpers.yml (+283 -0)
📝 .gitignore (+7 -0)
📝 .golangci.yml (+18 -4)
📝 CONTRIBUTING.md (+3 -3)
📝 Makefile (+5 -3)
OPTIMIZATIONS.md (+392 -0)
📝 cmd/root.go (+1 -1)
📝 cmd/run.go (+2 -2)
📝 internal/asc/assets_upload.go (+3 -3)
📝 internal/asc/assets_upload_test.go (+8 -8)
📝 internal/asc/client_app_clips_upload_test.go (+2 -2)
📝 internal/asc/client_game_center_activities_test.go (+1 -1)
📝 internal/asc/client_game_center_challenges_test.go (+1 -1)
📝 internal/asc/client_http.go (+1 -1)
📝 internal/asc/client_performance.go (+2 -2)
📝 internal/asc/notary.go (+7 -7)

...and 80 more files

📄 Description

Summary

This PR integrates the swift-helpers toolchain into the GitHub Actions pipelines and updates the contributor checklist to run tests with ASC_BYPASS_KEYCHAIN=1. 

What changed

-	Updates the testing checkbox to use ASC_BYPASS_KEYCHAIN=1 make test.  
-	CI workflows
-	main-branch.yml and pr-checks.yml now build Swift helpers and add their build output to PATH.
-	PR checks now run a targeted test set focused on Swift helper integration and related validation paths (instead of only go test -short ./...).  
-	Release workflow
-	Adds a guard step to detect whether Apple Developer signing secrets are configured.
-	Imports signing certs only when secrets are present.
-	Builds Swift helpers (release config), includes them in the release directory, codesigns them alongside the main binaries (when configured), and includes them in checksums.
-	Packages Swift helpers into a versioned tarball artifact.  
-	New workflow: swift-helpers.yml
-	Adds dedicated CI for Swift helpers: build (debug/release), artifact upload, Swift tests, Go integration tests exercising helpers, benchmarks, and release-only signing/notarization stages.  

Why

-	Ensures Swift helper binaries are consistently built and validated in CI, and shipped correctly with releases.
-	Reduces CI flakiness and local dev friction by standardizing ASC_BYPASS_KEYCHAIN=1 for relevant test runs.  

How to test

-	CI:
-	Verify pr-checks.yml builds Swift helpers and runs the narrowed Go test set.
-	Verify swift-helpers.yml runs build/test/integration jobs on PRs touching Swift helper paths.
-	Local:
-	ASC_BYPASS_KEYCHAIN=1 make test
-	cd swift-helpers && swift test
-	swift build -c release && go test ./internal/swifthelpers/...  

Notes

-	Release signing is now conditional: if Apple Developer secrets are not configured, the workflow proceeds without codesigning and prints a warning.  

🔄 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/721 **Author:** [@dl-alexandre](https://github.com/dl-alexandre) **Created:** 2/21/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (10+) - [`dbc403d`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/dbc403d56cbba22f64a9c321322cbbfc87648016) feat: add Swift helper integration for enhanced iOS workflow support - [`d90dd50`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/d90dd507b81cbc7bb43f5237d3736c3521d4b3ba) refactor: remove CLI-wrapping Swift helpers, keep native-framework ones - [`1504f23`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/1504f230e1468b37e623214f214b254d37790196) bench: add benchmarks for keychain, screenshot framing, and video encoding - [`31e2dab`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/31e2dabe5c55da11025d8492e6555d2827185808) ci: improve benchmark CI to run keychain benchmarks and show summary - [`5cd1d60`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/5cd1d60a48f9e5e128ba5876d09a31bfe01680c2) Merge pull request #2 from dl-alexandre/claude/resolve-pr-721-bscTt - [`9a91f8e`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/9a91f8e5f9c35a07e64ab5f0cdfa53546ded7e3a) Merge branch 'main' into main - [`e40d761`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/e40d7614865553859e820794235d94fa011870ef) feat: add Swift helper performance optimizations - [`49aa750`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/49aa750efea8f101429aebda0e81a014dd8db198) fix: update .golangci.yml to v2 format for golangci-lint v2.x compatibility - [`76aefe2`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/76aefe2c4e186c4b80e4f76048d8faaade2396dd) fix: update .golangci.yml to v2 format for golangci-lint v2.x compatibility - [`0b244fa`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/0b244fac89e83d3150757f49c28f4f54863193ac) fix: add explicit error ignores for errcheck linter compliance ### 📊 Changes **107 files changed** (+4669 additions, -231 deletions) <details> <summary>View changed files</summary> 📝 `.github/PULL_REQUEST_TEMPLATE.md` (+1 -1) 📝 `.github/workflows/main-branch.yml` (+8 -14) 📝 `.github/workflows/pr-checks.yml` (+9 -33) 📝 `.github/workflows/release.yml` (+48 -5) ➕ `.github/workflows/swift-helpers.yml` (+283 -0) 📝 `.gitignore` (+7 -0) 📝 `.golangci.yml` (+18 -4) 📝 `CONTRIBUTING.md` (+3 -3) 📝 `Makefile` (+5 -3) ➕ `OPTIMIZATIONS.md` (+392 -0) 📝 `cmd/root.go` (+1 -1) 📝 `cmd/run.go` (+2 -2) 📝 `internal/asc/assets_upload.go` (+3 -3) 📝 `internal/asc/assets_upload_test.go` (+8 -8) 📝 `internal/asc/client_app_clips_upload_test.go` (+2 -2) 📝 `internal/asc/client_game_center_activities_test.go` (+1 -1) 📝 `internal/asc/client_game_center_challenges_test.go` (+1 -1) 📝 `internal/asc/client_http.go` (+1 -1) 📝 `internal/asc/client_performance.go` (+2 -2) 📝 `internal/asc/notary.go` (+7 -7) _...and 80 more files_ </details> ### 📄 Description ## Summary This PR integrates the swift-helpers toolchain into the GitHub Actions pipelines and updates the contributor checklist to run tests with ASC_BYPASS_KEYCHAIN=1.  ## What changed - Updates the testing checkbox to use ASC_BYPASS_KEYCHAIN=1 make test.  - CI workflows - main-branch.yml and pr-checks.yml now build Swift helpers and add their build output to PATH. - PR checks now run a targeted test set focused on Swift helper integration and related validation paths (instead of only go test -short ./...).  - Release workflow - Adds a guard step to detect whether Apple Developer signing secrets are configured. - Imports signing certs only when secrets are present. - Builds Swift helpers (release config), includes them in the release directory, codesigns them alongside the main binaries (when configured), and includes them in checksums. - Packages Swift helpers into a versioned tarball artifact.  - New workflow: swift-helpers.yml - Adds dedicated CI for Swift helpers: build (debug/release), artifact upload, Swift tests, Go integration tests exercising helpers, benchmarks, and release-only signing/notarization stages.  ## Why - Ensures Swift helper binaries are consistently built and validated in CI, and shipped correctly with releases. - Reduces CI flakiness and local dev friction by standardizing ASC_BYPASS_KEYCHAIN=1 for relevant test runs.  ## How to test - CI: - Verify pr-checks.yml builds Swift helpers and runs the narrowed Go test set. - Verify swift-helpers.yml runs build/test/integration jobs on PRs touching Swift helper paths. - Local: - ASC_BYPASS_KEYCHAIN=1 make test - cd swift-helpers && swift test - swift build -c release && go test ./internal/swifthelpers/...  ## Notes - Release signing is now conditional: if Apple Developer secrets are not configured, the workflow proceeds without codesigning and prints a warning.  --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
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#738
No description provided.