@@ -60,22 +60,51 @@ jobs:
6060 - uses : actions/checkout@v4
6161 - uses : conda-incubator/setup-miniconda@v3
6262 with :
63- activate-environment : sscanss
64- environment-file : environment.yaml
65- auto-activate-base : false
66- - name : Make installer
63+ activate-environment : sscanss
64+ environment-file : environment.yaml
65+ auto-activate-base : false
66+ - name : Build executable
6767 shell : bash -el {0}
6868 run : |
6969 conda init bash
7070 conda activate sscanss
7171 python make.py --build-sscanss --build-editor
72- brew install create-dmg
72+ - name : Build and Sign Installer
73+ run : |
7374 cd installer/macos
74- chmod +x build_dmg.sh
75- ./build_dmg.sh
75+ # create variables
76+ KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
77+
78+ # create temporary keychain
79+ security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
80+ security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
81+ security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
82+
83+ # import certificate to keychain
84+ echo -n $CODE_SIGNING_CERTIFICATE_BASE64 | base64 -d -o ./dev_id_app_certificate.p12
85+ security import dev_id_app_certificate.p12 -A -t cert -f pkcs12 -k $KEYCHAIN_PATH -P "$CODE_SIGNING_PASSWORD" -T /usr/bin/codesign
86+ echo -n $PKG_SIGNING_CERTIFICATE_BASE64 | base64 -d -o ./dev_id_install_certificate.p12
87+ security import dev_id_install_certificate.p12 -A -t cert -f pkcs12 -k $KEYCHAIN_PATH -P "$PKG_SIGNING_PASSWORD" -T /usr/bin/codesign
88+ security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
89+ security list-keychain -d user -s $KEYCHAIN_PATH
90+
91+ echo -n $API_CONNECT_KEY | base64 -d -o ./auth_key.p8
92+ chmod 777 make.sh
93+ ./make.sh $GITHUB_REF_NAME $DEV_TEAM_ID $API_CONNECT_ISSUER $API_CONNECT_KEY_ID
94+ env :
95+ CODE_SIGNING_CERTIFICATE_BASE64 : ${{ secrets.CODE_SIGNING_CERTIFICATE_BASE64 }}
96+ CODE_SIGNING_PASSWORD : ${{ secrets.CODE_SIGNING_PASSWORD }}
97+ PKG_SIGNING_CERTIFICATE_BASE64 : ${{ secrets.PKG_SIGNING_CERTIFICATE_BASE64 }}
98+ PKG_SIGNING_PASSWORD : ${{ secrets.PKG_SIGNING_PASSWORD }}
99+ API_CONNECT_KEY_ID : ${{ secrets.API_CONNECT_KEY_ID }}
100+ API_CONNECT_KEY : ${{ secrets.API_CONNECT_KEY }}
101+ API_CONNECT_ISSUER : ${{ secrets.API_CONNECT_ISSUER }}
102+ DEV_TEAM_ID : ${{ secrets.DEV_TEAM_ID }}
103+ KEYCHAIN_PASSWORD : ${{ secrets.KEYCHAIN_PASSWORD }}
104+
76105 - name : Upload installer
77106 uses : actions/upload-artifact@v4
78107 with :
79108 name : macos installer
80- path : installer/macos/*.dmg
109+ path : installer/macos/sscanss2.pkg
81110 if-no-files-found : error
0 commit comments