Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sersoft-gmbh/xcodebuild-action
A GitHub action that runs xcodebuild
https://github.com/sersoft-gmbh/xcodebuild-action
github-actions xcode xcodebuild
Last synced: 3 days ago
JSON representation
A GitHub action that runs xcodebuild
- Host: GitHub
- URL: https://github.com/sersoft-gmbh/xcodebuild-action
- Owner: sersoft-gmbh
- License: apache-2.0
- Created: 2020-04-21T06:08:36.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-01T06:46:38.000Z (14 days ago)
- Last Synced: 2025-01-06T23:38:04.298Z (8 days ago)
- Topics: github-actions, xcode, xcodebuild
- Language: TypeScript
- Homepage:
- Size: 318 KB
- Stars: 101
- Watchers: 4
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Xcodebuild Action
[![Tests](https://github.com/sersoft-gmbh/xcodebuild-action/actions/workflows/tests.yml/badge.svg)](https://github.com/sersoft-gmbh/xcodebuild-action/actions/workflows/tests.yml)
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](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.
```yaml
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.
```yaml
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.
```yaml
uses: sersoft-gmbh/xcodebuild-action@v3
with:
workspace: MyApp.xcworkspace
scheme: MyApp
destination: platform=macOS
action: test
```