60 lines
2 KiB
YAML
60 lines
2 KiB
YAML
name: Build For Testing
|
|
inputs:
|
|
scheme:
|
|
description: Scheme
|
|
required: true
|
|
destination:
|
|
description: Destination
|
|
required: true
|
|
app-store-key:
|
|
description: App Store key in PEM PKCS#8 format
|
|
required: true
|
|
app-store-key-id:
|
|
description: App Store key ID
|
|
required: true
|
|
app-store-key-issuer-id:
|
|
description: App Store key issuer ID
|
|
required: true
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Resolve Swift Packages
|
|
shell: bash
|
|
working-directory: Apple
|
|
run: |
|
|
xcodebuild -resolvePackageDependencies \
|
|
-scheme '${{ inputs.scheme }}' \
|
|
-destination '${{ inputs.destination }}' \
|
|
-onlyUsePackageVersionsFromResolvedFile \
|
|
-clonedSourcePackagesDirPath SourcePackages \
|
|
-packageCachePath $PWD/PackageCache
|
|
- name: Cache Swift Packages
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
Apple/PackageCache
|
|
Apple/SourcePackages
|
|
key: ${{ runner.os }}-${{ inputs.scheme }}-${{ hashFiles('**/Package.resolved') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ inputs.scheme }}-
|
|
- name: Build
|
|
shell: bash
|
|
working-directory: Apple
|
|
run: |
|
|
echo "${{ inputs.app-store-key }}" > AuthKey_${{ inputs.app-store-key-id }}.p8
|
|
|
|
xcodebuild clean build-for-testing \
|
|
-allowProvisioningUpdates \
|
|
-allowProvisioningDeviceRegistration \
|
|
-authenticationKeyID ${{ inputs.app-store-key-id }} \
|
|
-authenticationKeyIssuerID ${{ inputs.app-store-key-issuer-id }} \
|
|
-authenticationKeyPath "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" \
|
|
-onlyUsePackageVersionsFromResolvedFile \
|
|
-clonedSourcePackagesDirPath SourcePackages \
|
|
-packageCachePath $PWD/PackageCache \
|
|
-skipPackagePluginValidation \
|
|
-scheme '${{ inputs.scheme }}' \
|
|
-destination '${{ inputs.destination }}' \
|
|
-resultBundlePath BuildResults.xcresult
|
|
|
|
rm -rf AuthKey_${{ inputs.app-store-key-id }}.p8
|