Update build settings

This commit is contained in:
Conrad Kramer 2024-07-06 17:20:46 -07:00
parent 3c70bc2a5c
commit 3dedca4de3
9 changed files with 407 additions and 448 deletions

View file

@ -9,12 +9,6 @@ inputs:
app-store-key-issuer-id: app-store-key-issuer-id:
description: App Store key issuer ID description: App Store key issuer ID
required: true required: true
archive-path:
description: Xcode archive path
required: true
export-path:
description: The path to export the archive to
required: true
runs: runs:
using: composite using: composite
steps: steps:
@ -24,28 +18,8 @@ runs:
run: | run: |
echo "${{ inputs.app-store-key }}" > AuthKey_${{ inputs.app-store-key-id }}.p8 echo "${{ inputs.app-store-key }}" > AuthKey_${{ inputs.app-store-key-id }}.p8
echo '{"destination":"export","method":"developer-id"}' \ ditto -c -k --keepParent Release/Burrow.app Upload.zip
| plutil -convert xml1 -o ExportOptions.plist - xcrun notarytool submit --wait --issuer ${{ inputs.app-store-key-issuer-id }} --key-id ${{ inputs.app-store-key-id }} --key "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" Upload.zip
xcrun stapler staple Release/Burrow.app
xcodebuild -exportArchive \ rm -rf AuthKey_${{ inputs.app-store-key-id }}.p8 Release
-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" \
-archivePath Wallet.xcarchive \
-exportPath Release \
-exportOptionsPlist ExportOptions.plist
ditto -c -k --keepParent Release/Wallet.app Upload.zip
SUBMISSION_ID=$(xcrun notarytool submit --issuer ${{ inputs.app-store-key-issuer-id }} --key-id ${{ inputs.app-store-key-id }} --key "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" Upload.zip | awk '/ id:/ { print $2; exit }')
xcrun notarytool wait $SUBMISSION_ID --issuer ${{ inputs.app-store-key-issuer-id }} --key-id ${{ inputs.app-store-key-id }} --key "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8"
xcrun stapler staple Release/Wallet.app
aa archive -a lzma -b 8m -d Release -subdir Wallet.app -o Wallet.app.aar
rm -rf Upload.zip Release AuthKey_${{ inputs.app-store-key-id }}.p8 ExportOptions.plist

View file

@ -24,7 +24,7 @@ jobs:
rust-targets: rust-targets:
- aarch64-apple-ios - aarch64-apple-ios
- scheme: App - scheme: App
destination: platform=iOS Simulator,OS=17.2,name=iPhone 15 Pro destination: platform=iOS Simulator,OS=18.0,name=iPhone 15 Pro
platform: iOS Simulator platform: iOS Simulator
sdk-name: iphonesimulator sdk-name: iphonesimulator
rust-targets: rust-targets:
@ -38,7 +38,7 @@ jobs:
- x86_64-apple-darwin - x86_64-apple-darwin
- aarch64-apple-darwin - aarch64-apple-darwin
env: env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer DEVELOPER_DIR: /Applications/Xcode_16.0.app/Contents/Developer
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3

View file

@ -5,7 +5,7 @@ jobs:
name: Build RPM name: Build RPM
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
- name: Install RPM - name: Install RPM
run: cargo install cargo-generate-rpm run: cargo install cargo-generate-rpm

View file

@ -22,14 +22,18 @@ jobs:
targets: targets:
- aarch64-unknown-linux-gnu - aarch64-unknown-linux-gnu
- os: macos-12 - os: macos-12
platform: macOS platform: macOS (Intel)
test-targets: test-targets:
- x86_64-apple-darwin - x86_64-apple-darwin
targets: targets:
- x86_64-apple-ios
- os: macos-14
platform: macOS
test-targets:
- aarch64-apple-darwin - aarch64-apple-darwin
targets:
- aarch64-apple-ios - aarch64-apple-ios
- aarch64-apple-ios-sim - aarch64-apple-ios-sim
- x86_64-apple-ios
- os: windows-2022 - os: windows-2022
platform: Windows platform: Windows
test-targets: test-targets:
@ -38,7 +42,7 @@ jobs:
- aarch64-pc-windows-msvc - aarch64-pc-windows-msvc
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
env: env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
CARGO_INCREMENTAL: 0 CARGO_INCREMENTAL: 0
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
RUST_BACKTRACE: short RUST_BACKTRACE: short

View file

@ -13,7 +13,8 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- destination: generic/platform=iOS -
destination: generic/platform=iOS
platform: iOS platform: iOS
rust-targets: rust-targets:
- aarch64-apple-ios - aarch64-apple-ios
@ -23,7 +24,7 @@ jobs:
- x86_64-apple-darwin - x86_64-apple-darwin
- aarch64-apple-darwin - aarch64-apple-darwin
env: env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@ -50,25 +51,23 @@ jobs:
app-store-key-id: ${{ secrets.APPSTORE_KEY_ID }} app-store-key-id: ${{ secrets.APPSTORE_KEY_ID }}
app-store-key-issuer-id: ${{ secrets.APPSTORE_KEY_ISSUER_ID }} app-store-key-issuer-id: ${{ secrets.APPSTORE_KEY_ISSUER_ID }}
archive-path: Burrow.xcarchive archive-path: Burrow.xcarchive
- name: Notarize (macOS) - name: Export
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: Burrow.xcarchive
- name: Export IPA (iOS)
if: ${{ matrix.platform == 'iOS' }}
uses: ./.github/actions/export uses: ./.github/actions/export
with: with:
method: ad-hoc method: ${{ matrix.platform == 'macOS' && 'developer-id' || 'ad-hoc' }}
destination: export destination: export
app-store-key: ${{ secrets.APPSTORE_KEY }} app-store-key: ${{ secrets.APPSTORE_KEY }}
app-store-key-id: ${{ secrets.APPSTORE_KEY_ID }} app-store-key-id: ${{ secrets.APPSTORE_KEY_ID }}
app-store-key-issuer-id: ${{ secrets.APPSTORE_KEY_ISSUER_ID }} app-store-key-issuer-id: ${{ secrets.APPSTORE_KEY_ISSUER_ID }}
archive-path: Burrow.xcarchive archive-path: Burrow.xcarchive
export-path: Release 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 }}
- name: Compress (iOS) - name: Compress (iOS)
if: ${{ matrix.platform == 'iOS' }} if: ${{ matrix.platform == 'iOS' }}
shell: bash shell: bash
@ -83,27 +82,17 @@ jobs:
aa archive -a lzma -b 8m -d Apple/Release -subdir Burrow.app -o Burrow.app.aar aa archive -a lzma -b 8m -d Apple/Release -subdir Burrow.app -o Burrow.app.aar
aa archive -a lzma -b 8m -d Apple -subdir Burrow.xcarchive -o Burrow-${{ matrix.platform }}.xcarchive.aar aa archive -a lzma -b 8m -d Apple -subdir Burrow.xcarchive -o Burrow-${{ matrix.platform }}.xcarchive.aar
rm -rf Apple/Release rm -rf Apple/Release
- name: Upload to GitHub (iOS) - name: Upload to GitHub
if: ${{ matrix.platform == 'iOS' }}
uses: SierraSoftworks/gh-releases@v1.0.7 uses: SierraSoftworks/gh-releases@v1.0.7
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
release_tag: ${{ github.ref_name }} release_tag: ${{ github.ref_name }}
overwrite: 'true' overwrite: 'true'
files: | files: |
Burrow.ipa ${{ matrix.platform == 'macOS' && 'Burrow.aap.aar' || 'Burrow.ipa' }}
Burrow-${{ matrix.platform }}.xcarchive.aar
- name: Upload to GitHub (macOS)
if: ${{ matrix.platform == 'macOS' }}
uses: SierraSoftworks/gh-releases@v1.0.7
with:
token: ${{ secrets.GITHUB_TOKEN }}
release_tag: ${{ github.ref_name }}
overwrite: 'true'
files: |
Burrow.aap.aar
Burrow-${{ matrix.platform }}.xcarchive.aar Burrow-${{ matrix.platform }}.xcarchive.aar
- name: Upload to App Store Connect - name: Upload to App Store Connect
if: ${{ matrix.platform == 'iOS' }}
uses: ./.github/actions/export uses: ./.github/actions/export
with: with:
method: app-store method: app-store

View file

@ -2,8 +2,7 @@
import AppKit import AppKit
import SwiftUI import SwiftUI
@MainActor @MainActor @main
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate { class AppDelegate: NSObject, NSApplicationDelegate {
private let quitItem: NSMenuItem = { private let quitItem: NSMenuItem = {
let quitItem = NSMenuItem( let quitItem = NSMenuItem(

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> <document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23077.2" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies> <dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22689"/> <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23077.2"/>
</dependencies> </dependencies>
<objects> <objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication"> <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">

754
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
FROM docker.io/library/rust:1.77-slim-bookworm AS builder FROM docker.io/library/rust:1.79-slim-bookworm AS builder
ARG TARGETPLATFORM ARG TARGETPLATFORM
ARG LLVM_VERSION=16 ARG LLVM_VERSION=16
@ -56,7 +56,6 @@ ENV CC_x86_64_unknown_linux_musl=clang-$LLVM_VERSION \
AR_aarch64_unknown_linux_musl=llvm-ar-$LLVM_VERSION \ AR_aarch64_unknown_linux_musl=llvm-ar-$LLVM_VERSION \
CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-L/usr/lib/x86_64-linux-musl -L/lib/x86_64-linux-musl -C linker=rust-lld" \ CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-L/usr/lib/x86_64-linux-musl -L/lib/x86_64-linux-musl -C linker=rust-lld" \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-L/usr/lib/aarch64-linux-musl -L/lib/aarch64-linux-musl -C linker=rust-lld" \ CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-L/usr/lib/aarch64-linux-musl -L/lib/aarch64-linux-musl -C linker=rust-lld" \
CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse \
SQLITE3_STATIC=1 \ SQLITE3_STATIC=1 \
SQLITE3_INCLUDE_DIR=/usr/local/include \ SQLITE3_INCLUDE_DIR=/usr/local/include \
SQLITE3_LIB_DIR=/usr/local/lib SQLITE3_LIB_DIR=/usr/local/lib