actions-marketplace-validations/mxcl/Xcodebuild
A continuously resilient `xcodebuild` action. “The best `xcodebuild` action by far.” ―mxcl
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 3, 2026
- License
- Public domain
Pinned Snippet
uses: actions-marketplace-validations/mxcl_xcodebuild@6311e1e29b1a783dc7a726ff8cad3f6d08a4f2de # no releases — HEAD as of 2026-07-10tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| xcode | A semantic version range, eg. ^10, ~10.3 or 10.3.1 Leave unset for the image‑default. | no | — |
| swift | A semantic version range, eg. ^5, ~5.4 or 5.4.1 | no | — |
| platform | Either `iOS`, `tvOS`, `macOS`, `watchOS`, `visionOS` or (more rarely) `mac-catalyst` Leave unset and `xcodebuild` decides itself. | no | — |
| platform-version | A semantic version range, eg. ^15, ~16.1 or 17.4.1 Leave unset for the latest available on the runner. | no | — |
| arch | Either `arm64` `x86_64 `i386` Leave unset and `xcodebuild` decides itself. | no | — |
| action | * The most common actions are `test`, `build`. * See the `xcodebuild` manual for available actions. * Specifying `none` skips the explicit `xcodebuild` step allowing you to use this (GitHub) Action solely for selecting an Xcode version. * Specifying `''`, `null` or `~` will cause xcodebuild to behave as it does without an action specified (usually `build`) | no | test |
| code-coverage | Enables code coverage | no | false |
| sanitizer | Enable a sanitizer for testing. Options: `thread`, `address`. * `thread`: Thread Sanitizer (TSan) detects threading issues like data races * `address`: Address Sanitizer (ASan) detects memory issues like buffer overflows Only one sanitizer can be enabled at a time. Leave unset to disable. | no | — |
| authentication-key-base64 | A Base64-encoded authentication key issued by App Store Connect. If specified, `xcodebuild`` will authenticate with the Apple Developer website using this credential. The `authentication-key-id` and `authentication-key-issuer-id` parameters are required. Using this key, `xcodebuild` will register the GitHub Actions runner device and manage code signing certificates for it. Please note that this may cause undesired behavior when using GitHub-hosted runners. For best results, use App Store Connect API keys only on self-hosted runners. | no | — |
| authentication-key-id | The key identifier associated with the App Store Conect authentication key specified in `authentication-key-base64`. This string can be located in the users and access details for your provider at "https://appstoreconnect.apple.com". For best results, use App Store Connect API keys only on self-hosted runners. | no | — |
| authentication-key-issuer-id | The App Store Connect issuer identifier associated with the authentication key specified in `authentication-key-base64`. This string can be located in the users and access details for your provider at "https://appstoreconnect.apple.com". For best results, use App Store Connect API keys only on self-hosted runners. | no | — |
| code-sign-certificate | A Base64-encoded certificate to be installed to the macOS Keychain for code signing. It is removed from the keychain in the post action. This certificate should correspond to the `CODE_SIGN_IDENTITY` specified in your project or to the `code-sign-identity` input. Pass this in as a GitHub Encrypted Secret. Requires macOS and `code-sign-certificate-passphrase`. | no | — |
| code-sign-certificate-passphrase | The passphrase used to protect the code signing certificate. Pass this in as a GitHub Encrypted Secret. | no | — |
| code-sign-identity | Identity to be used for code signing. If your project specifies a `CODE_SIGN_IDENTITY`, this will override it. | no | — |
| mobile-provisioning-profiles-base64 | A multiline list of Base64-encoded mobile provisioning profiles. | no | — |
| provisioning-profiles-base64 | A multiline list of Base64-encoded Mac provisioning profiles. | no | — |
| working-directory | … | no | — |
| configuration | Typically `Release` or `Debug`. Leave unset and `xcodebuild` decides itself. | no | — |
| scheme | A scheme defined by an Xcode project or workspace. If not specified, xcodebuild builds only the first target. | no | — |
| workspace | We try to detect your workspace, but if we fail you can manually specify it with this parameter. | no | — |
| warnings-as-errors | Fails the build if any warnings in *non test targets*. | no | false |
| verbosity | One of `xcpretty`, `xcbeautify`, `quiet` or `verbose`. | no | xcpretty |
| upload-logs | One of `always` or `on-failure`. Consider `always` if you want access to your coverage-reports. Beware that artifacts count against your GitHub Actions storage limits. | no | on-failure |
| trust-plugins | Skip Swift Package Manager build plugin validation. This may be a security risk. | no | false |
Outputs
no outputs