6060 run : Src\Setup\BuildBinaries.bat
6161
6262 - name : Upload binaries
63+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master' # Only manual master builds
64+ id : upload-binaries
6365 uses : actions/upload-artifact@v7
6466 with :
6567 name : Binaries
6870 !Src/Setup/Output/*.skin
6971 !Src/Setup/Output/*.skin7
7072 !Src/Setup/Output/*.zip
73+ retention-days : 1
74+
75+ - name : Sign binaries with SignPath
76+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master' # Only manual master builds
77+ uses : signpath/github-action-submit-signing-request@v2
78+ with :
79+ api-token : ' ${{ secrets.SIGNPATH_API_TOKEN }}'
80+ organization-id : ' b34b60e3-e5bf-4a6e-a13c-dcf641b4362c'
81+ project-slug : ' Open-Shell-Menu'
82+ signing-policy-slug : ' test-signing'
83+ artifact-configuration-slug : ' Binaries'
84+ github-artifact-id : ' ${{ steps.upload-binaries.outputs.artifact-id }}'
85+ wait-for-completion : true
86+ output-artifact-directory : ' Src/Setup/Output/'
7187
7288 - name : Build installers
7389 shell : cmd
@@ -76,25 +92,86 @@ jobs:
7692 run : Src\Setup\_BuildEnglish.bat
7793
7894 - name : Upload installers
95+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master' # Only manual master builds
96+ id : upload-installers
7997 uses : actions/upload-artifact@v7
8098 with :
8199 name : MSI
82100 path : |
83101 Src/Setup/Temp/*.msi
102+ retention-days : 1
103+
104+ - name : Sign installers with SignPath
105+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master' # Only manual master builds
106+ uses : signpath/github-action-submit-signing-request@v2
107+ with :
108+ api-token : ' ${{ secrets.SIGNPATH_API_TOKEN }}'
109+ organization-id : ' b34b60e3-e5bf-4a6e-a13c-dcf641b4362c'
110+ project-slug : ' Open-Shell-Menu'
111+ signing-policy-slug : ' test-signing'
112+ artifact-configuration-slug : ' Installers'
113+ github-artifact-id : ' ${{ steps.upload-installers.outputs.artifact-id }}'
114+ wait-for-completion : true
115+ output-artifact-directory : ' Src/Setup/Temp/'
84116
85- - name : Build final
117+ - name : Build setup and symbols
86118 shell : cmd
87119 env :
88120 CS_VERSION : ${{ steps.versioning.outputs.NEW_VERSION }}
89121 run : Src\Setup\BuildArchives.bat
90122
91- - name : Upload final
123+ - name : Upload symbols
124+ uses : actions/upload-artifact@v7
125+ with :
126+ path : |
127+ Src/Setup/Final/OpenShellSymbols*.7z
128+ archive : false
129+
130+ - name : Upload utility
131+ uses : actions/upload-artifact@v7
132+ with :
133+ path : |
134+ Src/Setup/Final/Utility.exe
135+ archive : false
136+
137+ - name : Upload setup
138+ id : upload-setup
92139 uses : actions/upload-artifact@v7
93140 with :
94- name : Final
95141 path : |
96- Src/Setup/Final/
97- !Src/Setup/Final/OpenShellLoc.zip
142+ Src/Setup/Final/OpenShellSetup*.exe
143+ archive : false
144+
145+ - name : Sign setup with SignPath
146+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master' # Only manual master builds
147+ uses : signpath/github-action-submit-signing-request@v2
148+ with :
149+ api-token : ' ${{ secrets.SIGNPATH_API_TOKEN }}'
150+ organization-id : ' b34b60e3-e5bf-4a6e-a13c-dcf641b4362c'
151+ project-slug : ' Open-Shell-Menu'
152+ signing-policy-slug : ' test-signing'
153+ github-artifact-id : ' ${{ steps.upload-setup.outputs.artifact-id }}'
154+ wait-for-completion : true
155+ skip-decompress : true
156+ output-artifact-directory : ' Src/Setup/Final/'
157+
158+ # `overwrite: true` doesn't work with `archive: false`, so we have to delete the original first
159+ # https://github.com/actions/upload-artifact/issues/769
160+ # https://github.com/actions/upload-artifact/issues/785
161+ - name : Delete setup
162+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master' # Only manual master builds
163+ uses : geekyeggo/delete-artifact@v6
164+ with :
165+ name : OpenShellSetup*.exe
166+
167+ - name : Upload setup (signed)
168+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master' # Only manual master builds
169+ uses : actions/upload-artifact@v7
170+ with :
171+ path : |
172+ Src/Setup/Final/OpenShellSetup*.exe
173+ archive : false
174+ overwrite : true
98175
99176 release :
100177 if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master' # Only manual master builds
@@ -103,10 +180,18 @@ jobs:
103180 permissions :
104181 contents : write # Elevate permissions ONLY for this job
105182 steps :
106- - name : Download artifacts
183+ - name : Download setup
184+ uses : actions/download-artifact@v8
185+ with :
186+ pattern : OpenShellSetup*.exe
187+ - name : Download symbols
188+ uses : actions/download-artifact@v8
189+ with :
190+ pattern : OpenShellSymbols*.7z
191+ - name : Download utility
107192 uses : actions/download-artifact@v8
108193 with :
109- name : OpenShell
194+ pattern : Utility.exe
110195
111196 - name : Create GitHub Release
112197 uses : softprops/action-gh-release@v3
0 commit comments