mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-18 02:10:21 +08:00
91 lines
3.4 KiB
YAML
91 lines
3.4 KiB
YAML
name: release-maa-mac
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
|
|
jobs:
|
|
macos-latest:
|
|
name: macos-latest
|
|
runs-on: macos-12
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: recursive
|
|
- name: 'Install Developer ID Certificate'
|
|
uses: apple-actions/import-codesign-certs@v1
|
|
with:
|
|
p12-file-base64: ${{ secrets.HGUANDL_SIGN_CERT_P12 }}
|
|
p12-password: ${{ secrets.HGUANDL_SIGN_CERT_PASSWD }}
|
|
- name: Cache Homebrew
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: $(brew --prefix)
|
|
key: ${{ runner.os }}-homebrew-${{ hashFiles('.config/brew/Brewfile') }}
|
|
- name: Install Dependencies
|
|
run: |
|
|
brew update --preinstall
|
|
brew install ninja range-v3 create-dmg
|
|
- name: Configure MaaCore
|
|
run: |
|
|
mkdir build && cd build
|
|
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_XCFRAMEWORK=ON -DBUILD_UNIVERSAL=ON
|
|
- name: Build libMaaCore
|
|
run: cmake --build build
|
|
- name: Build MAA
|
|
working-directory: src/MaaMacGui
|
|
run: xcodebuild -project MeoAsstMac.xcodeproj -scheme MAA archive -archivePath MAA.xcarchive -configuration Release
|
|
- name: Export MAA
|
|
working-directory: src/MaaMacGui
|
|
run: xcodebuild -exportArchive -archivePath MAA.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath Export
|
|
- name: Create disk image
|
|
working-directory: src/MaaMacGui
|
|
run: create-dmg --background dmg-bkg.png --window-size 500 300 --icon-size 128 --icon MAA.app 0 120 --hide-extension MAA.app --app-drop-link 270 120 MAA.dmg Export/MAA.app
|
|
- name: Archive debug symbols
|
|
working-directory: src/MaaMacGui/MAA.xcarchive/dSYMs
|
|
run: ditto -c -k --keepParent MAA.app.dSYM MAA.app.dSYM.zip
|
|
- name: Upload products
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: MAA-macos
|
|
path: |
|
|
src/MaaMacGui/MAA.dmg
|
|
src/MaaMacGui/MAA.xcarchive/dSYMs/MAA.app.dSYM.zip
|
|
|
|
macos-release:
|
|
name: macos-release
|
|
runs-on: macos-12
|
|
needs: [macos-latest]
|
|
steps:
|
|
- name: 'Setup tag information'
|
|
run: |
|
|
GIT_TAG=${GITHUB_REF#refs/*/}
|
|
echo "GIT_TAG=${GIT_TAG}" >> $GITHUB_ENV
|
|
echo "APP_DMG=MAA-${GIT_TAG}-macos.dmg" >> $GITHUB_ENV
|
|
echo "APP_SYM=MAAComponent-DebugSymbol-${GIT_TAG}-macos.zip" >> $GITHUB_ENV
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: MAA-macos
|
|
- name: 'Verify image'
|
|
run: |
|
|
mv MAA.dmg $APP_DMG
|
|
mv MAA.xcarchive/dSYMs/MAA.app.dSYM.zip $APP_SYM
|
|
hdiutil verify $APP_DMG
|
|
- name: 'Notarize image'
|
|
env:
|
|
NOTARY_USER: ${{ secrets.HGUANDL_NOTARY_AAPL_ID }}
|
|
NOTARY_PASSWD: ${{ secrets.HGUANDL_NOTARY_PASSWD }}
|
|
NOTARY_TEAM: ${{ secrets.HGUANDL_SIGN_IDENTITY }}
|
|
run: |
|
|
xcrun notarytool submit --apple-id "$NOTARY_USER" --password "$NOTARY_PASSWD" --team-id "$NOTARY_TEAM" --wait $APP_DMG
|
|
xcrun stapler staple $APP_DMG
|
|
- name: Upload image to release
|
|
uses: svenstaro/upload-release-action@v2
|
|
with:
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
file: 'MAA*${{ env.GIT_TAG }}-macos*'
|
|
file_glob: true
|
|
tag: ${{ env.GIT_TAG }}
|
|
overwrite: true
|