Shared workflows for iOS build and signing.
ci-workflows/
├── .github/workflows/
│ └── ios-create-profile.yml # Per-app provisioning (reusable)
└── fastlane/
├── Fastfile
├── Matchfile
├── Appfile
└── Gemfile
Create .github/workflows/setup-ios.yml in the app repository:
name: Setup iOS
on:
workflow_dispatch:
inputs:
profile_type:
type: choice
options: [adhoc, appstore]
default: adhoc
jobs:
setup:
uses: LightSideKittens/ci-workflows/.github/workflows/ios-create-profile.yml@main
with:
profile_type: ${{ inputs.profile_type }}
secrets: inheritRun: Actions → Setup iOS → Run workflow
GH_PATMATCH_PASSWORDMATCH_GIT_URLTEAM_IDAPP_STORE_CONNECT_KEY_IDAPP_STORE_CONNECT_ISSUER_IDAPP_STORE_CONNECT_API_KEY
APP_IDENTIFIER— App Bundle ID
Certificates (Distribution Certificate):
- Automatically created on first
Setup iOSrun for any app - Shared across the organization (Team ID)
- Reused for all subsequent apps
- Stored in the
ios-certificatesrepository
Profiles (Provisioning Profile):
- Created separately for each app (Bundle ID)
- Linked to a specific certificate
- Stored in the
ios-certificatesrepository