buildalon/Buildalon unity-xcode-builder

A GitHub Action to build, archive, and upload Unity exported xcode projects.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Maintainedlast commit Oct 5, 2025
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: buildalon/unity-xcode-builder@1825c299cf646b293b43f35514e79a981a046030 # v1.4.1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
xcode-versionThe version of Xcode to use for building the Xcode project. Defaults to the [latest version of Xcode on the runner](https://github.com/actions/runner-images#available-images).nolatest
project-pathThe directory that contains the exported xcode project from Unity.no
app-store-connect-keyThe App Store Connect API AuthKey_*.p8 key encoded as base64 string.yes
app-store-connect-key-idThe App Store Connect API key id.yes
app-store-connect-issuer-idThe issuer ID of the App Store Connect API key.yes
certificateExported signing certificate.p12 encoded as base64 string. Overrides the automatic signing in Xcode.no
manual-signing-certificateExported signing certificate.p12 encoded as base64 string. Overrides the automatic signing in Xcode.no
certificate-passwordThe password for the exported certificate. Required if `certificate` is provided.no
manual-signing-certificate-passwordThe password for the exported certificate. Required if `manual-signing-certificate` is provided.no
signing-identityThe signing identity to use for signing the Xcode project. Parsed from the `manual-signing-certificate` if not provided.no
manual-signing-identityThe signing identity to use for signing the Xcode project. Parsed from the `manual-signing-certificate` if not provided.no
provisioning-profileThe provisioning profile to use as base64 string. Use when manually signing the Xcode project.no
provisioning-profile-nameThe name of the provisioning profile file, including the type to use for signing the Xcode project. Must end with either `.mobileprovision` or `.provisionprofile`. Required if `provisioning-profile` is provided.no
team-idThe team ID to use for signing the Xcode project. Defaults to parsing team ID from `manual-signing-certificate` if provided.no
bundle-idThe bundle ID of the Xcode project. Overrides the value in the exported Unity project. Defaults to parsing bundle ID from `.xcodeproj`.no
configurationThe configuration to build the Xcode project with. Defaults to `Release`.noRelease
schemeThe scheme to use when building the xcode project.no
destinationThe destination to use when building the xcode project. Defaults to `generic/platform={platform}`.no
platformThe platform to build for. Can be one of `iOS`, `macOS`, `tvOS`, `visionOS`. Defaults to parsing platform from `.xcodeproj`.no
platform-sdk-versionThe version of the platform SDK to use for building the Xcode project. Defaults to the latest version of the platform SDK defined in the `.xcodeproj`.no
export-optionThe export option to use for exporting the Xcode project. Can be one of `app-store-connect`, `steam`, `release-testing`, `enterprise`, `debugging`, `developer-id`, `mac-application`. Defaults to `development`nodevelopment
export-option-plistThe path to custom export option plist file to use when exporting the Xcode project. Overrides `export-option`.no
entitlements-plistThe path to custom entitlements plist file. Generates [default hardened runtime entitlements](https://developer.apple.com/documentation/security/hardened-runtime) if not provided.no
notarizeWhether to notarize the exported Xcode project. Defaults to `true` if `export-option !== app-store-connect`.no
archive-typeThe archive type to use when exporting macOS applications when not uploading to the App Store. Can be one of `app` or `pkg`. Defaults to `app`. Forces `app` if `export-option === steam`.noapp
uploadWhether to upload the exported Xcode project to App Store Connect. Defaults to `true` if `export-option === app-store-connect`.no
whats-newWhen `uploading === true`, Let your testers know what you would like them to test in this build. This information will be available to testers in all groups who have access to this build. Defaults to the last git commit sha, current branch name, and commit message up to 4000 characters.no
auto-increment-build-numberWhether to automatically increment the `CFBundleVersion` in the Xcode project. Defaults to `true` if `export-option === app-store-connect`.notrue
test-groupsOne or more test groups to automatically add to the build when uploading to TestFlight. When using multiple groups, separate them with commas. None by default.no
submit-for-reviewWhether to submit the build for review when uploading to TestFlight. Defaults to `false`.no
developer-id-application-certificateThe `Developer ID Application` certificate encoded as base64 string. Required if `export-option === steam` or `export-option === developer-id` or `notarize === true`.no
developer-id-application-certificate-passwordThe password for the `Developer ID Application` certificate. Required if `developer-id-application-certificate` is provided.no
developer-id-installer-certificateThe `Developer ID Installer` certificate encoded as base64 string. Required when creating an installer package for macOS application.no
developer-id-installer-certificate-passwordThe password for the `Developer ID Installer` certificate. Required if `developer-id-installer-certificate` is provided.no
namedescription
executableThe path to the generated archive executable.
output-directoryThe path to the export output directory.