name: Build Apple Release on: pull_request: branches: - "*" jobs: build: name: Build ${{ matrix.configuration['platform'] }} Release runs-on: macos-14 strategy: fail-fast: false matrix: configuration: - destination: generic/platform=iOS platform: iOS artifact-file: Apple/Release/Burrow.ipa rust-targets: - aarch64-apple-ios - destination: generic/platform=macOS platform: macOS artifact-file: Burrow.app.txz rust-targets: - x86_64-apple-darwin - aarch64-apple-darwin env: DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer steps: - name: Checkout uses: actions/checkout@v3 with: ssh-key: ${{ secrets.DEPLOY_KEY }} submodules: recursive - name: Import Certificate uses: ./.github/actions/import-cert with: certificate: ${{ secrets.DEVELOPER_CERT }} password: ${{ secrets.DEVELOPER_CERT_PASSWORD }} - name: Install Rust uses: dtolnay/rust-toolchain@stable with: targets: ${{ join(matrix.rust-targets, ', ') }} - name: Archive uses: ./.github/actions/archive with: scheme: App destination: ${{ matrix.configuration['destination'] }} app-store-key: ${{ secrets.APPSTORE_KEY }} app-store-key-id: ${{ secrets.APPSTORE_KEY_ID }} app-store-key-issuer-id: ${{ secrets.APPSTORE_KEY_ISSUER_ID }} archive-path: Burrow.xcarchive - name: Upload uses: ./.github/actions/export with: method: app-store-connect destination: upload app-store-key: ${{ secrets.APPSTORE_KEY }} app-store-key-id: ${{ secrets.APPSTORE_KEY_ID }} app-store-key-issuer-id: ${{ secrets.APPSTORE_KEY_ISSUER_ID }} archive-path: Burrow.xcarchive export-path: Release - name: Notarize if: ${{ matrix.configuration['platform'] == 'macOS' }} uses: ./.github/actions/notarize with: app-store-key: ${{ secrets.APPSTORE_KEY }} app-store-key-id: ${{ secrets.APPSTORE_KEY_ID }} app-store-key-issuer-id: ${{ secrets.APPSTORE_KEY_ISSUER_ID }} archive-path: Burrow.xcarchive product-name: Burrow.app