Skip to content

Commit dc86c88

Browse files
committed
Update macos.yml
1 parent ec514f4 commit dc86c88

1 file changed

Lines changed: 6 additions & 49 deletions

File tree

.github/workflows/macos.yml

Lines changed: 6 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This workflow will build a .NET project
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
3+
14
name: Build macOS
25

36
on:
@@ -15,17 +18,9 @@ on:
1518
required: true
1619
default: false
1720

18-
19-
2021
jobs:
2122
macos-app:
2223
runs-on: macos-latest
23-
env:
24-
CERT_NAME: ${{ secrets.MACOS_CERTIFICATE_NAME }}
25-
KEYCHAIN_PASSWORD: ${{ secrets.MACOS_KEYCHAIN_PASSWORD }}
26-
APPLE_ID: ${{ secrets.APPLE_ID }}
27-
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
28-
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
2924
steps:
3025
- uses: actions/checkout@v4
3126
- name: Setup .NET
@@ -43,25 +38,6 @@ jobs:
4338
- name: Clone Binary
4439
run: git clone https://github.com/Uotan-Dev/UotanToolboxNT.Binary.git -b ${{ inputs.BINARY_BRANCH }}
4540

46-
- name: Install create-dmg
47-
run: brew install create-dmg
48-
49-
- name: Import macOS signing certificate
50-
run: |
51-
set -euo pipefail
52-
if [ ! -f /Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/MacOS/entitlements.plist ]; then
53-
echo "entitlements.plist not found in repo designated folder."
54-
exit 1
55-
fi
56-
echo "${{ secrets.MACOS_CERTIFICATE_BASE64 }}" | base64 --decode > /tmp/cert.p12
57-
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
58-
security set-keychain-settings -lut 21600 build.keychain
59-
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
60-
security import /tmp/cert.p12 -k build.keychain -P "${{ secrets.MACOS_CERTIFICATE_PASSWORD }}" -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild
61-
security list-keychain -d user -s build.keychain
62-
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain
63-
rm -f /tmp/cert.p12
64-
6541
- name: Build
6642
run: |
6743
dotnet publish -r osx-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o ./publish-x64
@@ -76,37 +52,18 @@ jobs:
7652
cp /Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/macOS/Info.plist ./UotanToolbox.app/Contents/Info.plist
7753
cp /Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/macOS/PkgInfo ./UotanToolbox.app/Contents/PkgInfo
7854
cp /Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/macOS/Icon.icns ./UotanToolbox.app/Contents/Resources/Icon.icns
79-
cp /Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/macOS/Assets.car ./UotanToolbox.app/Contents/Resources/Assets.car
8055
cp -r ./UotanToolboxNT.Binary/macOS/* ./UotanToolbox.app/Contents/MacOS/
8156
cp -r ./publish-x64/* ./UotanToolbox.app/Contents/MacOS/
82-
codesign --force --options runtime --entitlements /Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/MacOS/entitlements.plist --timestamp --deep --sign "${{ secrets.MACOS_CERTIFICATE_NAME }}" ./UotanToolbox.app
83-
ditto -c -k --keepParent ./UotanToolbox.app ./UotanToolbox_macOS_x64_${{ inputs.VERSION }}.zip
84-
xcrun notarytool submit ./UotanToolbox_macOS_x64_${{ inputs.VERSION }}.zip --apple-id "$APPLE_ID" --team-id "$APPLE_TEAM_ID" --password "$APPLE_APP_SPECIFIC_PASSWORD" --wait
85-
xcrun stapler staple -v ./UotanToolbox.app
86-
rm -rf ./UotanToolbox_macOS_x64_${{ inputs.VERSION }}.zip
87-
mkdir -p dmg-root
88-
cp -R "./UotanToolbox.app" "dmg-root/"
89-
ln -s /Applications "dmg-root/Applications"
90-
ls -la dmg-root
91-
create-dmg --volname "UotanToolbox" --background "/Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/macOS/dmgbackground.tiff" --window-size 600 410 --icon-size 96 --icon "UotanToolbox.app" 160 175 --icon "Applications" 440 175 --hide-extension "UotanToolbox.app" --filesystem APFS ./UotanToolbox_macOS_x64_${{ inputs.VERSION }}.dmg dmg-root/
57+
zip -rq ./UotanToolbox_macOS_x64_${{ inputs.VERSION }}.zip ./UotanToolbox.app
9258
rm -rf ./UotanToolbox.app/Contents/MacOS/*
9359
9460
9561
- name: Make app-arm64
9662
run: |
9763
cp -r ./UotanToolboxNT.Binary/macOS/* ./UotanToolbox.app/Contents/MacOS/
9864
cp -r ./publish-arm64/* ./UotanToolbox.app/Contents/MacOS/
99-
codesign --force --options runtime --entitlements /Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/MacOS/entitlements.plist --timestamp --deep --sign "${{ secrets.MACOS_CERTIFICATE_NAME }}" ./UotanToolbox.app
100-
ditto -c -k --keepParent ./UotanToolbox.app ./UotanToolbox_macOS_arm64_${{ inputs.VERSION }}.zip
101-
xcrun notarytool submit ./UotanToolbox_macOS_arm64_${{ inputs.VERSION }}.zip --apple-id "$APPLE_ID" --team-id "$APPLE_TEAM_ID" --password "$APPLE_APP_SPECIFIC_PASSWORD" --wait
102-
xcrun stapler staple -v ./UotanToolbox.app
103-
rm -rf ./UotanToolbox_macOS_arm64_${{ inputs.VERSION }}.zip
104-
rm -rf dmg-root
105-
mkdir -p dmg-root
106-
cp -R "./UotanToolbox.app" "dmg-root/"
107-
ln -s /Applications "dmg-root/Applications"
108-
ls -la dmg-root
109-
create-dmg --volname "UotanToolbox" --background "/Users/runner/work/UotanToolboxNT/UotanToolboxNT/UotanToolbox/Assets/macOS/dmgbackground.tiff" --window-size 600 410 --icon-size 96 --icon "UotanToolbox.app" 160 175 --icon "Applications" 440 175 --hide-extension "UotanToolbox.app" --filesystem APFS ./UotanToolbox_macOS_arm64_${{ inputs.VERSION }}.dmg dmg-root/ rm -rf ./UotanToolbox.app/Contents/MacOS/*
65+
zip -rq ./UotanToolbox_macOS_arm64_${{ inputs.VERSION }}.zip ./UotanToolbox.app
66+
rm -rf ./UotanToolbox.app/Contents/MacOS/*
11067
11168
- name: Upload
11269
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)