iOS KMP Self-hosted Build
Source: workflows/ios-kmp-selfhosted-build.yml
Runner: Self-hosted
Usage
jobs:
ios-kmp-self-hosted-build:
uses: futuredapp/.github/.github/workflows/ios-kmp-selfhosted-build.yml@2.2.0
secrets:
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
use_git_lfs |
boolean |
No | False |
Whether to download Git-LFS files. |
custom_values |
string |
No | — | Custom string that can contains values specified in your workflow file. Those values will be placed into environment variable. Example: "CUSTOM-1: 1; CUSTOM-2: 2" |
timeout_minutes |
number |
No | 30 |
Job timeout in minutes |
kmp_swift_package_integration |
boolean |
No | False |
Whether KMP is integrated in Xcode project as a Swift Package |
kmp_swift_package_path |
string |
No | iosApp/shared/KMP |
If swift_package_integration is 'true', then specifies a location of local Swift Package with Makefile. Example: 'iosApp/shared/KMP` |
kmp_swift_package_flavor |
string |
No | prod |
Build flavor of KMP Package |
java_version |
string |
No | 17 |
Java version to use |
java_distribution |
string |
No | zulu |
Java distribution to use |
xcconfig_path |
string |
No | — | Path to the .xcconfig file. Selected secret properties will be appended to the end of this file. |
required_keys |
string |
No | — | Comma-separated list of required keys. |
changelog |
string |
No | ${{ github.event.pull_request.title }} |
Will be used as TestFlight changelog |
custom_build_path |
string |
No | — | Path to directory containing Fastfile. If not specified, uses iosApp. Example: iosApp/appA |
Secrets
| Name | Required | Description |
|---|---|---|
MATCH_PASSWORD |
Yes | Password for decrypting of certificates and provisioning profiles. |
APP_STORE_CONNECT_API_KEY_KEY |
Yes | Private App Store Connect API key for submitting build to App Store. |
APP_STORE_CONNECT_API_KEY_KEY_ID |
Yes | Private App Store Connect API key for submitting build to App Store. |
APP_STORE_CONNECT_API_KEY_ISSUER_ID |
Yes | Private App Store Connect API issuer key for submitting build to App Store. |
GRADLE_CACHE_ENCRYPTION_KEY |
No | Configuration cache encryption key |
SECRET_PROPERTIES |
No | Secrets in the format KEY = VALUE (one per line). |