workflows: ios-app-store: name: Kasztelan iOS App Store instance_type: mac_mini_m2 max_build_duration: 60 integrations: app_store_connect: Kasztelan environment: groups: - kasztelan_secrets vars: XCODE_PROJECT: "Kasztelan.xcodeproj" XCODE_SCHEME: "Kasztelan" BUNDLE_ID: "uk.co.kasztelan.app.ios" xcode: latest scripts: - name: Configure Kasztelan API key script: | set -eu test -n "${KASZTELAN_APP_KEY:-}" umask 077 printf 'KASZTELAN_APP_KEY = %s\n' "$KASZTELAN_APP_KEY" > Config/Secrets.xcconfig - name: Configure App Store signing script: | keychain initialize app-store-connect fetch-signing-files "$BUNDLE_ID" \ --type IOS_APP_STORE \ --certificate-key @env:CERTIFICATE_PRIVATE_KEY \ --create keychain add-certificates xcode-project use-profiles - name: Build signed IPA script: | xcode-project build-ipa \ --project "$CM_BUILD_DIR/$XCODE_PROJECT" \ --scheme "$XCODE_SCHEME" artifacts: - build/ios/ipa/*.ipa - /tmp/xcodebuild_logs/*.log - $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.dSYM publishing: app_store_connect: auth: integration submit_to_testflight: true submit_to_app_store: false