Skip to content

[EPAC-2080]: fix TestFlight build failing on main#606

Merged
riddim-developer-bot[bot] merged 1 commit into
mainfrom
symphony/epac-2080-ci-testflight-build-failing-on-main
May 25, 2026
Merged

[EPAC-2080]: fix TestFlight build failing on main#606
riddim-developer-bot[bot] merged 1 commit into
mainfrom
symphony/epac-2080-ci-testflight-build-failing-on-main

Conversation

@riddim-developer-bot

Copy link
Copy Markdown
Contributor

Why

The TestFlight Build workflow on main fails at the "Resolve TestFlight build ID"
step because resolve_build_id.py unconditionally calls AWS Secrets Manager for
App Store Connect credentials. The production workflow provides these via GitHub
secrets (written to env vars + .p8 file), not AWS — so the aws secretsmanager
call fails with exit code 255.

The same bug exists in wait_for_build_processed.py and
attach_build_to_group.py. A fourth script, submit_beta_app_review.py,
already had the correct pattern: check env vars first, fall back to AWS.

Failed run: https://github.com/RiddimSoftware/epac/actions/runs/26416412212

What changed

  • Added get_asc_credentials() to resolve_build_id.py,
    wait_for_build_processed.py, and attach_build_to_group.py. The function
    checks ASC_KEY_ID + ASC_ISSUER_ID + ASC_PRIVATE_KEY env vars first,
    then ASC_KEY_PATH (reads the .p8 file), then falls back to AWS Secrets
    Manager. This matches submit_beta_app_review.py's existing pattern.

  • Exported ASC_KEY_PATH from the "Write App Store Connect credentials" step
    in testflight-build.yml so downstream steps can locate the .p8 file
    without hardcoding the path or calling AWS.

  • Also exported ASC_KEY_PATH from fetch_asc_secret.sh (used by the staging
    workflow) for consistency.

Trade-offs not taken

  • Did not factor get_asc_credentials() into a shared module. Four scripts now
    have the same function — a future cleanup can deduplicate, but this fix keeps
    the change minimal and scoped to the CI failure.

Test plan

  • actionlint .github/workflows/testflight-build.yml — passes
  • python3 -m pytest scripts/release/test_wait_for_build_processed.py scripts/release/test_attach_build_to_group.py — 10/10 pass
  • Syntax check on all four release scripts — passes

Skipped checks

  • Cannot run the TestFlight Build workflow locally. The failing path depends on
    GitHub Actions secrets and the macOS runner. The workflow must validate the
    fix by re-running on main after merge.

Resolves EPAC-2080

Reviewer-Boundary: review-only

Estimate was missing from the Linear issue; treated as the standard 8 complexity tier.

…o AWS Secrets Manager

Three release scripts (resolve_build_id.py, wait_for_build_processed.py,
attach_build_to_group.py) unconditionally called AWS Secrets Manager for App
Store Connect credentials. The production TestFlight workflow provides these
via GitHub secrets, not AWS, so the Secrets Manager call fails with exit 255.

Add get_asc_credentials() to each script — checks ASC_KEY_ID, ASC_ISSUER_ID,
and ASC_PRIVATE_KEY / ASC_KEY_PATH env vars first, matching the pattern
already used by submit_beta_app_review.py. Export ASC_KEY_PATH from both the
workflow and fetch_asc_secret.sh so downstream steps can locate the .p8 file.
@riddim-developer-bot riddim-developer-bot Bot added the autonomous Enrolled in prconverged daemon for automated review and merge label May 25, 2026
@riddim-developer-bot riddim-developer-bot Bot added the autonomous Enrolled in prconverged daemon for automated review and merge label May 25, 2026
@riddim-developer-bot
riddim-developer-bot Bot enabled auto-merge (squash) May 25, 2026 19:44
@riddim-developer-bot
riddim-developer-bot Bot merged commit fd0a4d5 into main May 25, 2026
5 checks passed
@riddim-developer-bot
riddim-developer-bot Bot deleted the symphony/epac-2080-ci-testflight-build-failing-on-main branch May 25, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autonomous Enrolled in prconverged daemon for automated review and merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants