GitHub Action
Xcodebuild Action
This action runs xcodebuild
with the given options.
Note that this action needs to run on macOS. All other platforms will fail!
The path to the xcworkspace to build. Mutually exclusive with project
and spm-package
. Either workspace
, project
or spm-package
must be set. See also xcodebuild
's -workspace
.
The path to the xcodeproj to build. Mutually exclusive with workspace
and spm-package
. Either workspace
, project
or spm-package
must be set. See also xcodebuild
's -project
.
The path to the SPM package (folder containing Package.swift
) to build. Mutually exclusive with project
and workspace
. Either workspace
, project
or spm-package
must be set.
The scheme to build. Required when using a workspace or SPM package. See also xcodebuild
's -scheme
.
The target to build. See also xcodebuild
's -target
.
The destination specifier to build. See also xcodebuild
's -destination
.
The configuration to build. See also xcodebuild
's -configuration
.
The SDK to use for building. See also xcodebuild
's -sdk
.
The architecture to use for building. See also xcodebuild
's -arch
.
The path to an xcconfig file with build settings overrides. See also xcodebuild
's -xcconfig
.
The number of jobs to use for building. See also xcodebuild
's -jobs
.
If true
, the targets will be built in parallel. See also xcodebuild
's -parallelizeTargets
.
If true
, xcodebuild
won't print anything except warnings and errors. See also xcodebuild
's -quiet
.
If true
, xcodebuild
won't print the environment for shell build scripts. See also xcodebuild
's -hideShellScriptEnvironment
.
If true
, code coverage is enabled while testing. See also xcodebuild
's -enableCodeCoverage
.
If true
, tests are executed in parallel. See also xcodebuild
's -parallel-testing-enabled
.
The maximum number of device destinations to run in parallel. See also xcodebuild
's -maximum-concurrent-test-device-destinations
.
The maximum number of simulator destinations to run in parallel. See also xcodebuild
's -maximum-concurrent-test-simulator-destinations
.
Whether the address sanitizer should be enabled. See also xcodebuild
's -enableAddressSanitizer
.
Whether the thread sanitizer should be enabled. See also xcodebuild
's -enableThreadSanitizer
.
Whether the undefined behavior sanitizer should be enabled. See also xcodebuild
's -enableUndefinedBehaviorSanitizer
.
The path that should be used for the result bundle. See also xcodebuild
's -resultBundlePath
.
The version that should be used for the result bundle. See also xcodebuild
's -resultBundleVersion
.
The path that should be used for the cloning of remote packages. See also xcodebuild
's -clonedSourcePackagesDirPath
.
The path that should be used for derived data. See also xcdodebuild
's -derivedDataPath
.
The path to a .xcroot to use for building and/or testing. See also xcodebuild
's -xcroot
.
The path to a test run specification. See also xcodebuild
's -xctestrun
.
The name of the test plan associated with the scheme to use for testing. See also xcodebuild
's -testPlan
.
A list of tests to run. This can be multiline list of test identifiers. See also xcodebuild
's -only-testing
.
A list of tests to skip. This can be multiline list of test identifiers. See also xcodebuild
's -only-testing
.
Whether unavailable actions should be skipped instead of failing the execution. See also xcodebuild
's -skipUnavailableActions
.
Whether provisioning updates are allowed. See also xcodebuild
's -allowProvisioningUpdates
.
Whether provisioning device registrations are allowed. See also xcodebuild
's -allowProvisioningDeviceRegistration
.
Arbitrary, space separated build settings (e.g. PLATFORM_NAME=iphonesimulator
).
The action to perform (e.g. build, test, ...). Can also contain multiple actions.
Default: test
A CLI invocation to forward the output to (e.g. xcpretty
, xcbeautify
, ...). Note that it cannot contain any pipes.
Default: xcpretty --color
The unprocessed command from which the executed command was resolved. E.g. paths are not resolved in this one.
The command that was executed by this action. This will also be printed to the action output.
Use the following snippet when you want to run tests configured with the MyApp
scheme inside a MyApp
Xcode project:
uses: sersoft-gmbh/xcodebuild-action@v3
with:
project: MyApp.xcodeproj
scheme: MyApp
destination: platform=macOS
action: test