@@ -113,75 +113,25 @@ jobs:
113113
114114 # All the following are used only when building an installer after a merge
115115 - name : Build Msi
116+ if : github.event_name != 'pull_request'
116117 id : build_msi
117118 shell : cmd
118119 run : |
119120 msbuild build/FLExBridge.proj /t:CleanMasterOutputDir;PreparePublishingArtifactsInternal;BuildProductBaseMsi /p:UploadFolder=${{ inputs.environment || 'Alpha' }}
120- if : github.event_name != 'pull_request'
121-
122- # REVIEW: The .msi file is named with the version, there is probably a cleaner way to generate the correct filename
123- # and after completing the work to do signing of the bundles it became clear that capturing the files in the signtool wasn't necessary
124- - name : Prepare for msi signing
125- shell : bash
126- run : |
127- echo "FILES_TO_SIGN=$(cat $FILESTOSIGNLATER)" >> $GITHUB_OUTPUT
128- id : gathered_files
129- if : github.event_name != 'pull_request'
130121
131- - name : upload-msi
132- id : upload
133- uses : actions/upload-artifact@v4
134- with :
135- name : FlexBridge.msi
136- path : ${{ steps.gathered_files.outputs.FILES_TO_SIGN }}
137- if-no-files-found : error
138- overwrite : true
122+ - name : Sign FlexBridge msi
123+ uses : sillsdev/codesign/trusted-signing-action@v3
139124 if : github.event_name != 'pull_request'
140-
141- sign-msi :
142- name : Sign FlexBridge Installer
143- needs : build_and_test
144- if : github.event_name != 'pull_request'
145- uses :
sillsdev/codesign/.github/workflows/[email protected] 146- with :
147- artifact : FlexBridge.msi
148- description : ' FLEx Bridge Installer'
149- secrets :
150- certificate : ${{ secrets.CODESIGN_LSDEVSECTIGOEV }}
151-
152- build-bundles :
153- name : Build Installer Bundles
154- needs : sign-msi
155- if : github.event_name != 'pull_request'
156- runs-on : windows-latest
157- env :
158- FILESTOSIGNLATER : " ${{ github.workspace }}\\ filesToSign"
159- steps :
160- - name : Checkout Files
161- uses : actions/checkout@v4
162- id : checkout
163- with :
164- fetch-depth : 0
165- submodules : true
166-
167- - name : Downgrade Wix Toolset - remove when runner has 3.14.2
168- # See: https://github.com/actions/runner-images/issues/9667
169- run : |
170- choco uninstall wixtoolset
171- choco install wixtoolset --version 3.11.2 --allow-downgrade --force
172- echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
173-
174- - name : Add msbuild to PATH
175- uses : microsoft/setup-msbuild@v2
176-
177- - name : Download FlexBridge artifact
178- uses : actions/download-artifact@v4
179125 with :
180- name : FlexBridge.msi
181- path : src/WiXInstaller/BaseInstallerBuild # Target directory for the downloaded artifact
126+ credentials : ${{ secrets.TRUSTED_SIGNING_CREDENTIALS }}
127+ files-folder : src/WiXInstaller/BaseInstallerBuild
128+ files-folder-filter : FlexBridge*.msi
129+ description : ' FLExBridge Installer'
130+ description-url : ' https://software.sil.org/fieldworks/help/using-sendreceive/flex-bridge/'
182131
183132 - name : Build Bundles
184133 id : build_bundles
134+ if : github.event_name != 'pull_request'
185135 working-directory : build
186136 shell : cmd
187137 run : |
@@ -190,156 +140,45 @@ jobs:
190140
191141 - name : Extract burn engines
192142 id : extract_engines
143+ if : github.event_name != 'pull_request'
193144 working-directory : BuildDir
194145 shell : cmd
195146 run : |
196147 insignia -ib FlexBridge_Offline.exe -o offline-engine.exe
197148 insignia -ib FlexBridge_Online.exe -o online-engine.exe
198149
199- - name : Upload Offline Engine
200- id : upload-offline-engine
201- uses : actions/upload-artifact@v4
202- with :
203- name : offline-engine
204- path : BuildDir/offline-engine.exe
205- if-no-files-found : error
206- overwrite : true
207- if : github.event_name != 'pull_request'
208-
209- - name : Upload Offline Bundle(detatched)
210- id : upload-offline-bundle
211- uses : actions/upload-artifact@v4
212- with :
213- name : FlexBridge_Offline.exe
214- path : BuildDir/FlexBridge_Offline.exe
215- if-no-files-found : error
216- overwrite : true
150+ - name : Sign Engines
217151 if : github.event_name != 'pull_request'
218-
219- - name : Upload Online Engine
220- id : upload-online-engine
221- uses : actions/upload-artifact@v4
222- with :
223- name : online-engine
224- path : BuildDir/online-engine.exe
225- if-no-files-found : error
226- overwrite : true
227- if : github.event_name != 'pull_request'
228-
229- - name : Upload Online Bundle(detached)
230- id : upload-online-bundle
231- uses : actions/upload-artifact@v4
232- with :
233- name : FlexBridge_Online.exe
234- path : BuildDir/FlexBridge_Online.exe
235- if-no-files-found : error
236- overwrite : true
237- if : github.event_name != 'pull_request'
238-
239- sign-offline-engine :
240- name : Sign Offline Engine
241- needs : build-bundles
242- if : github.event_name != 'pull_request'
243- uses :
sillsdev/codesign/.github/workflows/[email protected] 244- with :
245- artifact : offline-engine
246- description : ' FLEx Bridge Installer'
247- secrets :
248- certificate : ${{ secrets.CODESIGN_LSDEVSECTIGOEV }}
249-
250- sign-online-engine :
251- name : Sign Online Engine
252- needs : build-bundles
253- if : github.event_name != 'pull_request'
254- uses :
sillsdev/codesign/.github/workflows/[email protected] 255- with :
256- artifact : online-engine
257- description : ' FLEx Bridge Installer'
258- secrets :
259- certificate : ${{ secrets.CODESIGN_LSDEVSECTIGOEV }}
260-
261- reattach-engines :
262- runs-on : windows-latest
263- needs : [sign-offline-engine, sign-online-engine]
264- steps :
265- - name : Downgrade Wix Toolset - remove when runner has 3.14.2
266- run : |
267- choco uninstall wixtoolset
268- choco install wixtoolset --version 3.11.2 --allow-downgrade --force
269- echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
270-
271- - name : Download signed online engine
272- uses : actions/download-artifact@v4
273- with :
274- name : online-engine
275- - name : Download signed offline engine
276- uses : actions/download-artifact@v4
277- with :
278- name : offline-engine
279- - name : Download Online Bundle
280- uses : actions/download-artifact@v4
281- with :
282- name : FlexBridge_Online.exe
283- - name : Download Offline Bundle
284- uses : actions/download-artifact@v4
285- with :
286- name : FlexBridge_Offline.exe
287-
152+ uses : sillsdev/codesign/trusted-signing-action@v3
153+ with :
154+ credentials : ${{ secrets.TRUSTED_SIGNING_CREDENTIALS }}
155+ files-folder : BuildDir
156+ files-folder-filter : ' *-engine.exe'
157+ description : ' FLExBridge installer burn engine - SIL Global'
158+ description-url : ' https://software.sil.org/fieldworks/help/using-sendreceive/flex-bridge/'
159+
288160 - name : Reattach Engines
161+ if : github.event_name != 'pull_request'
162+ working-directory : BuildDir
289163 shell : cmd
290164 run : |
291165 insignia -ab online-engine.exe FlexBridge_Online.exe -o FlexBridge_Online.exe
292166 insignia -ab offline-engine.exe FlexBridge_Offline.exe -o FlexBridge_Offline.exe
293167
294- - name : Upload Online Bundle(attached)
295- id : upload-online-bundle
296- uses : actions/upload-artifact@v4
297- with :
298- name : FlexBridge_Online.exe
299- path : FlexBridge_Online.exe
300- if-no-files-found : error
301- overwrite : true
168+ - name : Sign Bundles
302169 if : github.event_name != 'pull_request'
303-
304- - name : Upload Offline Bundle(attached)
305- id : upload-offline-bundle
170+ uses : sillsdev/codesign/trusted-signing-action@v3
171+ with :
172+ credentials : ${{ secrets.TRUSTED_SIGNING_CREDENTIALS }}
173+ files-folder : BuildDir
174+ files-folder-filter : FlexBridge_*.exe
175+ description : ' FLExBridge installer - SIL Global'
176+ description-url : ' https://software.sil.org/fieldworks/help/using-sendreceive/flex-bridge/'
177+
178+ - name : Upload Signed Installers
306179 uses : actions/upload-artifact@v4
307- with :
308- name : FlexBridge_Offline.exe
309- path : FlexBridge_Offline.exe
310- if-no-files-found : error
311- overwrite : true
312180 if : github.event_name != 'pull_request'
313-
314- - name : Cleanup Offline Engine
315- uses : geekyeggo/delete-artifact@v5
316- with :
317- name : offline-engine
318-
319- - name : Cleanup Online Engine
320- uses : geekyeggo/delete-artifact@v5
321181 with :
322- name : online-engine
323-
324- sign-offline-bundle :
325- name : Sign Offline Bundle
326- needs : reattach-engines
327- if : github.event_name != 'pull_request'
328- uses :
sillsdev/codesign/.github/workflows/[email protected] 329- with :
330- artifact : FlexBridge_Offline.exe
331- description : ' FLEx Bridge Installer'
332- secrets :
333- certificate : ${{ secrets.CODESIGN_LSDEVSECTIGOEV }}
334-
335- sign-online-bundle :
336- name : Sign Online Bundle
337- needs : reattach-engines
338- if : github.event_name != 'pull_request'
339- uses :
sillsdev/codesign/.github/workflows/[email protected] 340- with :
341- artifact : FlexBridge_Online.exe
342- description : ' FLEx Bridge Installer'
343- secrets :
344- certificate : ${{ secrets.CODESIGN_LSDEVSECTIGOEV }}
345-
182+ name : FlexBridgeInstallers
183+ path : BuildDir/FlexBridge_*.exe
184+ if-no-files-found : warn
0 commit comments