Skip to content

sersoft-gmbh/xcodebuild-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Xcodebuild Action

Tests

This action runs xcodebuild with the given options.

Note that this action needs to run on macOS. All other platforms will fail!

Inputs

See action.yml for an overview of all inputs.
For more information about the various inputs, also see man xcodebuild.

Notes:

  • If you are missing an input, you can pass them in the build-settings input. These will be passed along to xcodebuild as is.
  • If an enum input validation fails because you use a value that isn't yet known to this action, set disable-enum-validation to true.

Outputs

unprocessed-command

The unprocessed command from which the executed command was resolved. E.g. paths are not resolved in this one.

executed-command

The command that was executed by this action. This will also be printed to the action output.

Example Usage

Example using a Swift Package

Note: If you have multiple products in your package, Xcode will auto-generate a my-tool-Package scheme, where my-tool is the name of your package. If you only have one product, or wish to only build a specific product, you can use the product name as scheme directly.

uses: sersoft-gmbh/xcodebuild-action@v3
with:
  spm-package: './'
  scheme: my-tool-Package
  destination: platform=macOS
  action: test
Example using an Xcode project (xcodeproj)

This will 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
Example using an Xcode workspace (xcworkspace)

This will run tests configured with the MyApp scheme inside a MyApp Xcode workspace.

Note for CocoaPods: Restoring the CocoaPods dependencies has to be done before running this action.

uses: sersoft-gmbh/xcodebuild-action@v3
with:
  workspace: MyApp.xcworkspace
  scheme: MyApp
  destination: platform=macOS
  action: test