21
21
PROGRAM_NAME_WITH_PATH : ' enduser/trackereditor'
22
22
BUILD_WITH_CERTIFICATE : ${{ secrets.PROD_MACOS_CERTIFICATE_NAME }}
23
23
PROJECT_LPI : source/project/tracker_editor/trackereditor.lpi
24
- RELEASE_DMG_FILE : trackereditor_macOS_universal .dmg
24
+ RELEASE_DMG_FILE : trackereditor_macOS_notarized_universal_binary .dmg
25
25
26
26
steps :
27
27
- uses : actions/checkout@v4
@@ -37,26 +37,22 @@ jobs:
37
37
- name : Build trackereditor app for Apple silicon (aarch64)
38
38
run : |
39
39
${{ env.LAZBUILD_WITH_PATH }} --build-all --build-mode=Release --widgetset=cocoa --cpu=aarch64 ${{ env.PROJECT_LPI }}
40
- cp -a ${{ env.PROGRAM_NAME_WITH_PATH }} ${{ env.PROGRAM_NAME_WITH_PATH }}-aarch64
40
+ mv ${{ env.PROGRAM_NAME_WITH_PATH }} ${{ env.PROGRAM_NAME_WITH_PATH }}-aarch64
41
41
shell : bash
42
42
43
43
- name : Build trackereditor app for Intel Mac version (x86_64)
44
44
run : |
45
45
${{ env.LAZBUILD_WITH_PATH }} --build-all --build-mode=Release --widgetset=cocoa --cpu=x86_64 ${{ env.PROJECT_LPI }}
46
- cp -a ${{ env.PROGRAM_NAME_WITH_PATH }} ${{ env.PROGRAM_NAME_WITH_PATH }}-x86_64
46
+ mv ${{ env.PROGRAM_NAME_WITH_PATH }} ${{ env.PROGRAM_NAME_WITH_PATH }}-x86_64
47
47
shell : bash
48
48
49
49
- name : Create a Universal macOS binary from aarch64 and x86_64
50
50
run : |
51
- # remove the previeus binary build
52
- rm -f ${{ env.PROGRAM_NAME_WITH_PATH }}
53
-
54
51
# Create a new Universal macOS binary
55
52
lipo -create -output ${{ env.PROGRAM_NAME_WITH_PATH }} ${{ env.PROGRAM_NAME_WITH_PATH }}-aarch64 ${{ env.PROGRAM_NAME_WITH_PATH }}-x86_64
56
53
57
- # Remove this single binary build. Not needed any more.
58
- rm -f ${{ env.PROGRAM_NAME_WITH_PATH }}-aarch64
59
- rm -f ${{ env.PROGRAM_NAME_WITH_PATH }}-x86_64
54
+ # Remove these extra binary build. Not needed any more.
55
+ rm -f ${{ env.PROGRAM_NAME_WITH_PATH }}-*
60
56
shell : bash
61
57
62
58
- name : Extract latest program version from metainfo and update the Info.plist with it
@@ -200,16 +196,21 @@ jobs:
200
196
xcrun stapler staple "${{ env.RELEASE_DMG_FILE }}"
201
197
shell : bash
202
198
203
- - name : Upload Artifact
199
+ - name : Use diferent .dmg file name for non signed/notarize version
200
+ if : ${{ env.BUILD_WITH_CERTIFICATE == '' }}
201
+ run : mv ${{ env.RELEASE_DMG_FILE }} trackereditor_macOS_UNSIGNED_universal_binary.dmg
202
+ shell : bash
203
+
204
+ - name : Upload Artifact. Signed/Notarize is optional.
204
205
uses : actions/upload-artifact@v4
205
206
with :
206
- name : artifact-${{ env.RELEASE_DMG_FILE }}
207
- path : ${{ env.RELEASE_DMG_FILE }}
207
+ name : artifact-${{ runner.os }}
208
+ path : " *.dmg "
208
209
compression-level : 0 # no compression. Content is already a zip file
209
210
if-no-files-found : error
210
211
211
- - name : File release to end user
212
+ - name : Notarize file release to end user. If certificate is present.
212
213
uses : softprops/action-gh-release@v2
213
- if : startsWith(github.ref, 'refs/tags/')
214
+ if : startsWith(github.ref, 'refs/tags/') && (env.BUILD_WITH_CERTIFICATE != '')
214
215
with :
215
216
files : ${{ env.RELEASE_DMG_FILE }}
0 commit comments