Compare commits
1 commit
main
...
ck/build-n
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3cc3358a4f |
4 changed files with 88 additions and 23 deletions
3
.github/actions/archive/action.yml
vendored
3
.github/actions/archive/action.yml
vendored
|
|
@ -29,6 +29,9 @@ runs:
|
||||||
xcodebuild archive \
|
xcodebuild archive \
|
||||||
-allowProvisioningUpdates \
|
-allowProvisioningUpdates \
|
||||||
-allowProvisioningDeviceRegistration \
|
-allowProvisioningDeviceRegistration \
|
||||||
|
-skipPackagePluginValidation \
|
||||||
|
-skipMacroValidation \
|
||||||
|
-onlyUsePackageVersionsFromResolvedFile \
|
||||||
-authenticationKeyID ${{ inputs.app-store-key-id }} \
|
-authenticationKeyID ${{ inputs.app-store-key-id }} \
|
||||||
-authenticationKeyIssuerID ${{ inputs.app-store-key-issuer-id }} \
|
-authenticationKeyIssuerID ${{ inputs.app-store-key-issuer-id }} \
|
||||||
-authenticationKeyPath "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" \
|
-authenticationKeyPath "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" \
|
||||||
|
|
|
||||||
57
.github/actions/notarize/action.yml
vendored
Normal file
57
.github/actions/notarize/action.yml
vendored
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
name: Notarize
|
||||||
|
inputs:
|
||||||
|
app-store-key:
|
||||||
|
description: App Store key in PEM PKCS#8 format
|
||||||
|
required: true
|
||||||
|
app-store-key-id:
|
||||||
|
description: App Store key ID
|
||||||
|
required: true
|
||||||
|
app-store-key-issuer-id:
|
||||||
|
description: App Store key issuer ID
|
||||||
|
required: true
|
||||||
|
archive-path:
|
||||||
|
description: Xcode archive path
|
||||||
|
required: true
|
||||||
|
outputs:
|
||||||
|
notarized-app:
|
||||||
|
description: The compressed and notarized app
|
||||||
|
value: ${{ steps.notarize.outputs.notarized-app }}
|
||||||
|
runs:
|
||||||
|
using: composite
|
||||||
|
steps:
|
||||||
|
- id: notarize
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "${{ inputs.app-store-key }}" > AuthKey_${{ inputs.app-store-key-id }}.p8
|
||||||
|
|
||||||
|
echo '{"destination":"upload","method":"developer-id"}' \
|
||||||
|
| plutil -convert xml1 -o ExportOptions.plist -
|
||||||
|
|
||||||
|
xcodebuild \
|
||||||
|
-exportArchive \
|
||||||
|
-allowProvisioningUpdates \
|
||||||
|
-allowProvisioningDeviceRegistration \
|
||||||
|
-authenticationKeyID ${{ inputs.app-store-key-id }} \
|
||||||
|
-authenticationKeyIssuerID ${{ inputs.app-store-key-issuer-id }} \
|
||||||
|
-authenticationKeyPath "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" \
|
||||||
|
-archivePath '${{ inputs.archive-path }}' \
|
||||||
|
-exportOptionsPlist ExportOptions.plist
|
||||||
|
|
||||||
|
until xcodebuild \
|
||||||
|
-exportNotarizedApp \
|
||||||
|
-allowProvisioningUpdates \
|
||||||
|
-allowProvisioningDeviceRegistration \
|
||||||
|
-authenticationKeyID ${{ inputs.app-store-key-id }} \
|
||||||
|
-authenticationKeyIssuerID ${{ inputs.app-store-key-issuer-id }} \
|
||||||
|
-authenticationKeyPath "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" \
|
||||||
|
-archivePath '${{ inputs.archive-path }}' \
|
||||||
|
-exportPath Release
|
||||||
|
do
|
||||||
|
echo "Failed to export app, trying again in 10s..."
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
|
||||||
|
tar --options xz:compression-level=9 -C Release -cJvf Wallet.txz ./
|
||||||
|
echo "notarized-app=Wallet.txz" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
rm -rf AuthKey_${{ inputs.app-store-key-id }}.p8 Release ExportOptions.plist
|
||||||
2
.github/workflows/build-apple.yml
vendored
2
.github/workflows/build-apple.yml
vendored
|
|
@ -12,7 +12,7 @@ concurrency:
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build App (${{ matrix.platform }})
|
name: Build App (${{ matrix.platform }})
|
||||||
runs-on: macos-13
|
runs-on: macos-14
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
|
|
||||||
49
.github/workflows/release-apple.yml
vendored
49
.github/workflows/release-apple.yml
vendored
|
|
@ -1,26 +1,27 @@
|
||||||
name: Build Apple Release
|
name: Build Apple Release
|
||||||
on:
|
on:
|
||||||
release:
|
pull_request:
|
||||||
types:
|
branches:
|
||||||
- created
|
- "*"
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build ${{ matrix.configuration['platform'] }} Release
|
name: Build ${{ matrix.configuration['platform'] }} Release
|
||||||
runs-on: macos-13
|
runs-on: macos-14
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
configuration:
|
configuration:
|
||||||
- scheme: App (iOS)
|
- destination: generic/platform=iOS
|
||||||
destination: generic/platform=iOS
|
|
||||||
platform: iOS
|
platform: iOS
|
||||||
method: ad-hoc
|
|
||||||
artifact-file: Apple/Release/Burrow.ipa
|
artifact-file: Apple/Release/Burrow.ipa
|
||||||
- scheme: App (macOS)
|
rust-targets:
|
||||||
destination: generic/platform=macOS
|
- aarch64-apple-ios
|
||||||
|
- destination: generic/platform=macOS
|
||||||
platform: macOS
|
platform: macOS
|
||||||
method: mac-application
|
|
||||||
artifact-file: Burrow.app.txz
|
artifact-file: Burrow.app.txz
|
||||||
|
rust-targets:
|
||||||
|
- x86_64-apple-darwin
|
||||||
|
- aarch64-apple-darwin
|
||||||
env:
|
env:
|
||||||
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
|
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -34,32 +35,36 @@ jobs:
|
||||||
with:
|
with:
|
||||||
certificate: ${{ secrets.DEVELOPER_CERT }}
|
certificate: ${{ secrets.DEVELOPER_CERT }}
|
||||||
password: ${{ secrets.DEVELOPER_CERT_PASSWORD }}
|
password: ${{ secrets.DEVELOPER_CERT_PASSWORD }}
|
||||||
|
- name: Install Rust
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: ${{ join(matrix.rust-targets, ', ') }}
|
||||||
- name: Archive
|
- name: Archive
|
||||||
uses: ./.github/actions/archive
|
uses: ./.github/actions/archive
|
||||||
with:
|
with:
|
||||||
scheme: ${{ matrix.configuration['scheme'] }}
|
scheme: App
|
||||||
destination: ${{ matrix.configuration['destination'] }}
|
destination: ${{ matrix.configuration['destination'] }}
|
||||||
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
|
||||||
- name: Export Locally
|
- name: Upload
|
||||||
uses: ./.github/actions/export
|
uses: ./.github/actions/export
|
||||||
with:
|
with:
|
||||||
method: ${{ matrix.configuration['method'] }}
|
method: app-store-connect
|
||||||
destination: export
|
destination: upload
|
||||||
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: Compress
|
- name: Notarize
|
||||||
if: ${{ matrix.configuration['platform'] == 'macOS' }}
|
if: ${{ matrix.configuration['platform'] == 'macOS' }}
|
||||||
shell: bash
|
uses: ./.github/actions/notarize
|
||||||
run: tar --options xz:compression-level=9 -C Apple/Release -cJf Burrow.app.txz ./
|
|
||||||
- name: Attach Artifact
|
|
||||||
uses: SierraSoftworks/gh-releases@v1.0.6
|
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
app-store-key: ${{ secrets.APPSTORE_KEY }}
|
||||||
overwrite: 'false'
|
app-store-key-id: ${{ secrets.APPSTORE_KEY_ID }}
|
||||||
files: ${{ matrix.configuration['artifact-file'] }}
|
app-store-key-issuer-id: ${{ secrets.APPSTORE_KEY_ISSUER_ID }}
|
||||||
|
archive-path: Burrow.xcarchive
|
||||||
|
product-name: Burrow.app
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue