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: Xcode Cache uses: actions/cache@v3 with: path: | Apple/PackageCache Apple/SourcePackages Apple/DerivedData key: ${{ runner.os }}-${{ inputs.scheme }}-${{ hashFiles('**/Package.resolved') }} restore-keys: | ${{ runner.os }}-${{ inputs.scheme }}-${{ hashFiles('**/Package.resolved') }} ${{ runner.os }}-${{ inputs.scheme }}- ${{ runner.os }}- - name: Build shell: bash working-directory: Apple run: | echo "${{ inputs.app-store-key }}" > AuthKey_${{ inputs.app-store-key-id }}.p8 xcodebuild build-for-testing \ -allowProvisioningUpdates \ -allowProvisioningDeviceRegistration \ -skipPackagePluginValidation \ -skipMacroValidation \ -onlyUsePackageVersionsFromResolvedFile \ -authenticationKeyID ${{ inputs.app-store-key-id }} \ -authenticationKeyIssuerID ${{ inputs.app-store-key-issuer-id }} \ -authenticationKeyPath "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" \ -clonedSourcePackagesDirPath SourcePackages \ -packageCachePath $PWD/PackageCache \ -derivedDataPath $PWD/DerivedData \ -scheme '${{ inputs.scheme }}' \ -destination '${{ inputs.destination }}' \ -resultBundlePath BuildResults.xcresult rm -rf AuthKey_${{ inputs.app-store-key-id }}.p8