Skip to content

Build Apple Release #27

Build Apple Release

Build Apple Release #27

Workflow file for this run

name: Build Apple Release
on:
release:
types:
- created
jobs:
build:
name: Build ${{ matrix.platform }} Release
runs-on: macos-13
strategy:
fail-fast: false
matrix:
include:
- scheme: App
build-destination: generic/platform=iOS
platform: iOS
artifact-file: Apple/Release/Wallet.ipa
- scheme: App (macOS)
build-destination: generic/platform=macOS
platform: macOS
artifact-file: Apple/Wallet.app.aar
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
- 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.sdk-name }}
- name: Archive
uses: ./.github/actions/archive
with:
scheme: ${{ matrix.scheme }}
destination: ${{ matrix.build-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: Export
if: ${{ matrix.platform == 'iOS' }}
uses: ./.github/actions/export
with:
method: ad-hoc
destination: export
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
export-path: Release
- name: Notarize
if: ${{ matrix.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/gh-releases@v1.0.7
with:
token: ${{ secrets.GITHUB_TOKEN }}
release_tag: ${{ github.ref_name }}
overwrite: 'false'
files: ${{ matrix.artifact-file }}