Skip to content

iOS release builds can't sign the widget and notification-service targets #104

Description

@GSTJ

v1.5.0-rc1 is the first tag since the widgets target landed in #83, and its iOS build died before compiling anything:

Setting up credentials for target PegadaWidgets (app.pegada.widgets)
- Linking bundle identifier app.pegada.widgets
✔ Bundle identifier registered app.pegada.widgets
- Syncing capabilities
✔ Synced capabilities: No updates
Skipping capability identifier syncing because the current Apple authentication
session is not using Cookies (username/password).
Distribution Certificate is not validated for non-interactive builds.
Failed to set up credentials.
Credentials are not set up. Run this command again in interactive mode.

Run: https://github.com/GSTJ/pegada/actions/runs/30227811313

This is the case release-mobile.yml's own CREDENTIALS comment predicted. EAS has a valid profile for app.pegada and reused it fine (Updated provisioning profile (J3NGLA7345)), but the extension targets have no stored credentials, and non-interactive mode won't mint them. The last green native build was 2026-07-08, before either extension existed, so nothing has exercised this path until now.

Two extensions need it, and the build only got as far as the first:

Either fix works:

  1. One interactive eas credentials run per target to mint and store the profiles. Quickest, but has to be redone by hand whenever a target is added.
  2. An App Store Connect API key wired in as EXPO_ASC_API_KEY_PATH / EXPO_ASC_KEY_ID / EXPO_ASC_ISSUER_ID, which lets EAS generate profiles non-interactively from then on. More setup once, then this class of failure stops happening.

I'd go with option 2, since adding a target is going to keep happening and option 1 breaks every time.

Both need App Store Connect access, so this one's on me. Android built separately and isn't affected. The OTA path is unaffected too, so JS-only changes keep shipping normally; what's blocked is any new binary, which is what 1.5.0 needs to reach users at all (runtimeVersion follows appVersion, and there's no 1.5.0 build in the stores).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions