Skip to content

Build Apple Release #19

Build Apple Release

Build Apple Release #19

Workflow file for this run

name: Build Apple Release
on:
release:
types:
- created
jobs:
build:
name: Build ${{ matrix.configuration['platform'] }} Release
runs-on: macos-13
strategy:
fail-fast: false
matrix:
configuration:
- scheme: App
destination: generic/platform=iOS
platform: iOS
method: ad-hoc
artifact-file: Apple/Release/Wallet.ipa
- scheme: App (macOS)
destination: generic/platform=macOS
platform: macOS
method: mac-application
artifact-file: Apple/Wallet.app.aar
env:
DEVELOPER_DIR: /Applications/Xcode_15.0.app/Contents/Developer
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ssh-key: ${{ secrets.DEPLOY_KEY }}
submodules: recursive
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: '20'
cache: gradle
- uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Cache Kotlin Native Compiler
uses: actions/cache@v3
with:
path: ~/.konan
key: ${{ runner.os }}-konan
- name: Import Certificate
uses: ./.github/actions/import-cert
with:
certificate: ${{ secrets.DEVELOPER_ID_CERT }}
password: ${{ secrets.DEVELOPER_ID_CERT_PASSWORD }}
- name: Build External Libraries
shell: bash
run: External/build-darwin.sh ${{ matrix.configuration['sdk-name'] }}
- name: Archive
uses: ./.github/actions/archive
with:
scheme: ${{ matrix.configuration['scheme'] }}
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: Wallet.xcarchive
- 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: Wallet.xcarchive
product-name: Wallet.app
- name: Attach Artifact
uses: SierraSoftworks/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
overwrite: 'false'
files: ${{ matrix.configuration['artifact-file'] }}