This action sets up a macOS runner for code signing. It's in the early stages of development and is not yet ready for production use.
Asset Type | Support |
---|---|
Developer Certificate | ✅ |
App Store Connect API Key | ✅ |
Provisioning Profile | ❌ |
Apple introduced managed signing at WWDC21. By setting up the runner with an App Store Connect API Key, you can use managed signing to sign your app. No provisioning profile is required.
Note
Apple Developer Enterprise accounts do not support App Store Connect API keys.
name: build with automatic signing
on:
push:
pull_request:
branches:
- main
jobs:
test:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: nodeselector/[email protected]
with:
asset-type: "app-store-connect-api-key"
secret-value: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
- uses: nodeselector/[email protected]
with:
asset-type: "certificate"
secret-value: ${{ secrets.CODE_SIGNING_CERTIFICATE_DEVELOPMENT_PEM }}
- uses: nodeselector/[email protected]
with:
action: 'archive'
scheme: "helloworld"
project: "helloworld.xcodeproj"
archive-path: "build/helloworld.xcarchive"
destination: "generic/platform=iOS"
allow-provisioning-updates: true
- uses: nodeselector/[email protected]
id: export
with:
action: 'export'
archive-path: "build/helloworld.xcarchive"
allow-provisioning-updates: true
export-method: "ad-hoc"
- uses: nodeselector/[email protected]
with:
action: 'upload'
product-name: "helloworld"
export-path: ${{ steps.export.outputs.export-path }}