Apple Setup

GitHub composite action to automatically set up Apple code signing certificates and provisioning profiles using fastlane match. Simplify your iOS and macOS CI/CD pipeline.

Why Apple Setup?

Automated certificate management without the complexity

🔐

Automated Certificates

Automatically sync or generate code signing certificates and provisioning profiles using fastlane match.

📱

Multi-Platform

Support for both iOS and macOS with App Store, Developer ID, and PKG installer certificates.

CI/CD Ready

Works seamlessly in GitHub Actions with no local fastlane files needed in your repository.

🔒

Secure Storage

Certificates stored encrypted in a private Git repository, accessible across your entire team.

🚀

Zero Configuration

All fastlane files included in the action - just configure your secrets and you're ready to go.

🔄

Reusable

Use the same action across multiple projects. Secrets can be shared and reused organization-wide.

Quick Start

Get up and running in minutes with these simple examples

iOS App Store Distribution
# Setup Apple code signing for iOS
- name: Setup Apple Code Signing
  uses: starburst997/apple-setup@v1
  with:
    generate_ios: true
    gh_pat: ${{ secrets.GH_PAT }}
    match_repository: "your-org/certificates-repo"
    match_password: ${{ secrets.MATCH_PASSWORD }}
    match_deploy_key: ${{ secrets.MATCH_DEPLOY_KEY }}
    appstore_issuer_id: ${{ secrets.APPSTORE_ISSUER_ID }}
    appstore_key_id: ${{ secrets.APPSTORE_KEY_ID }}
    appstore_p8: ${{ secrets.APPSTORE_P8 }}
    ios_bundle_id: "com.company.appname"
macOS Developer ID Distribution
# Setup Apple code signing for macOS
- name: Setup Apple Code Signing
  uses: starburst997/apple-setup@v1
  with:
    generate_macos: true
    generate_developer_id: true
    gh_pat: ${{ secrets.GH_PAT }}
      match_repository: "your-org/certificates-repo"
      match_password: ${{ secrets.MATCH_PASSWORD }}
      match_deploy_key: ${{ secrets.MATCH_DEPLOY_KEY }}
    appstore_issuer_id: ${{ secrets.APPSTORE_ISSUER_ID }}
    appstore_key_id: ${{ secrets.APPSTORE_KEY_ID }}
    appstore_p8: ${{ secrets.APPSTORE_P8 }}
    mac_bundle_id: "com.company.appname"

Supported Platforms

Comprehensive support for all Apple distribution methods

📱 iOS

  • App Store Distribution
  • TestFlight Beta Testing
  • Automatic certificate generation
  • Profile management

💻 macOS

  • App Store Distribution
  • Developer ID for Direct Distribution
  • PKG Installer Certificates
  • Notarization Ready