burrow/.github/actions/build-for-testing/action.yml
Conrad Kramer bea8af0d66 Cache Swift packages in Github Actions
This is helpful now that SwiftLint is a package dependency.
2023-05-09 23:01:36 -04:00

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