This action build iOS project. (.xcodeproj, .xcworkspace)
And can export to ipa, so it can be continuously delivered to DeployGate and TestFlight.
self-hosted is also supported. If you use self-hosted, install Xcode.
You can add a single p12 key+cert file with p12-base64 (p12-path)
, or if you have key and cert in separate files you can add them with p12-key-base64 (p12-key-path)
and p12-cer-base64 (p12-cer-path)
. One of the two options is required.
Required if single file: Base64 encoded p12 file (key + cert).
Required if split key/cert: Base64 encoded p12 key file.
Required if split key/cert: Base64 encoded certificate for the p12 key.
Required if single file: p12 path (key + cert).
Required if split key/cert: p12 key path.
Required if split key/cert: Certificate path for the p12 key.
Required: Base64 encoded mobileprovision file. If you want to specify multiple files, you need to input in multiple lines and then use export-options
to specify the provisioning profile to use for each executable in your app.
- uses: yukiarrr/[email protected]
with:
mobileprovision-base64: |
${{ secrets.MY_MOBILEPROVISION_BASE64 }}
${{ secrets.YOUR_MOBILEPROVISION_BASE64 }}
Also note, when creating base64 encoded inputs, make sure they don't contain newlines, e.g.
openssl base64 -in MyAppProvisioning.mobileprovision -A
Required: mobileprovision path. If you want to specify multiple files, you need to input in multiple lines and then use export-options
to specify the provisioning profile to use for each executable in your app.
- uses: yukiarrr/[email protected]
with:
mobileprovision-path: |
ios-build-1.mobileprovision
ios-build-2.mobileprovision
Required: .xcodeproj path.
Required: For example, "iOS Distribution"
.
Required: Team id.
.xcworkspace path. Default ""
.
Choose "app-store"
, "ad-hoc"
, "package"
"enterprise"
, "development"
, or "developer-id"
. Default "app-store"
.
For example, "Debug"
, "Release"
. Default "Release"
.
For example, "MyScheme"
.
Certificate password. Default ""
.
Output path of ipa. Default "output.ipa"
.
Targets to be updated with mobileprovision, code signing identity, etc. Split on new lines. Default ""
. (default to all targets)
- uses: yukiarrr/[email protected]
with:
update-targets: |
MyApp
YourApp
Deprecated, use update-targets
instead.
These targets will not use automatic code signing and instead use the identity specified in other inputs. Input targets separated by ","
. For example, "MyApp,YourApp"
. Default ""
. (default to all targets)
Path to an export options plist. Default ""
.
Path for Swift Package Manager dependencies. Default ""
.
The SDK that should be used for building the application. Default ""
. For example, "iOS 11.1"
.
Use a custom destination for building the app. Default ""
. For example, "generic/platform=iOS"
.
Run xcodebuild with clean enabled. Default "true".
If you have any other inputs you'd like to add, feel free to create PR.
Welcome your contributions!
- uses: yukiarrr/[email protected]
with:
project-path: Unity-iPhone.xcodeproj
p12-base64: ${{ secrets.P12_BASE64 }}
mobileprovision-base64: ${{ secrets.MOBILEPROVISION_BASE64 }}
code-signing-identity: ${{ secrets.CODE_SIGNING_IDENTITY }}
team-id: ${{ secrets.TEAM_ID }}
workspace-path: Unity-iPhone.xcworkspace # optional
- uses: yukiarrr/[email protected]
with:
project-path: Unity-iPhone.xcodeproj
p12-key-base64: ${{ secrets.P12_KEY_BASE64 }}
p12-cer-base64: ${{ secrets.P12_CER_BASE64 }}
mobileprovision-base64: ${{ secrets.MOBILEPROVISION_BASE64 }}
code-signing-identity: ${{ secrets.CODE_SIGNING_IDENTITY }}
team-id: ${{ secrets.TEAM_ID }}
workspace-path: Unity-iPhone.xcworkspace # optional