2424 description : ' Commit-ish for liblcm repository'
2525 required : false
2626 default : ' master'
27- s3_copy :
28- description : ' Copy this build result to S3'
29- required : false
30- default : false
3127
3228concurrency :
3329 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
3834 env :
3935 CROWDIN_API_KEY : ${{ secrets.FLEX_CROWDIN_API }}
4036 LcmRootDir : ${{ github.workspace }}/Localizations/LCM
37+ FILESTOSIGNLATER : ./signExternally
4138 name : Build Debug and run Tests
4239 runs-on : windows-latest
4340 steps :
@@ -99,10 +96,19 @@ jobs:
9996 2.1.x
10097 3.1.x
10198 5.0.x
99+
102100 - name : Install Overcrowdin
103101 shell : cmd
104102 run : |
105103 dotnet tool update -g overcrowdin || dotnet tool install -g overcrowdin
104+
105+ - name : Downgrade Wix Toolset - remove when runner has 3.14.2
106+ run : |
107+ choco uninstall wixtoolset
108+ choco install wixtoolset --version 3.11.2 --allow-downgrade --force
109+ echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
110+ if : github.event_name != 'pull_request'
111+
106112 - name : Prepare for build
107113 shell : cmd
108114 working-directory : Build
@@ -113,7 +119,7 @@ jobs:
113119 shell : powershell
114120 run : |
115121 cd Build
116- .\build64.bat /t:BuildBaseInstaller /property:config=release;action=test;desktopNotAvailable=true /v:d /bl ^| tee-object -FilePath build.log
122+ .\build64.bat /t:BuildBaseInstaller " /property:config=release;action=test;desktopNotAvailable=true" /v:d /bl ^| tee-object -FilePath build.log
117123 cd ..
118124 cd BuildDir
119125 md5sum *.exe > md5.txt
@@ -143,22 +149,57 @@ jobs:
143149 with :
144150 log-path : Build/test-results.log
145151 token : ${{ secrets.GITHUB_TOKEN }}
146-
147- - name : Copy to S3
148- if : ${{ github.event.inputs.s3_copy }}
149- env :
150- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
151- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
152- AWS_REGION : us-east-1
153- S3_BUCKET : flex-updates
154- S3_KEY : base-build/artifact.tar.gz
152+
153+ - name : Extract burn engines
154+ id : extract_engines
155+ if : github.event_name != 'pull_request'
156+ working-directory : BuildDir
157+ shell : cmd
158+ run : |
159+ insignia -ib FieldWorks_Offline.exe -o offline-engine.exe
160+ insignia -ib FieldWorks_Online.exe -o online-engine.exe
161+
162+ - name : Sign Engines
163+ if : github.event_name != 'pull_request'
164+ uses : sillsdev/codesign/trusted-signing-action@v3
165+ with :
166+ credentials : ${{ secrets.TRUSTED_SIGNING_CREDENTIALS }}
167+ files-folder : BuildDir
168+ files-folder-filter : ' *-engine.exe'
169+ description : ' FieldWorks Installer'
170+ description-url : ' https://software.sil.org/fieldworks/'
171+
172+ - name : Reattach Engines
173+ if : github.event_name != 'pull_request'
174+ working-directory : BuildDir
175+ shell : cmd
155176 run : |
156- tar -czf artifact.tar.gz BuildDir
157- aws s3 cp artifact.tar.gz s3://$S3_BUCKET/$S3_KEY
158-
159- - uses : actions/upload-artifact@v4
177+ insignia -ab online-engine.exe FlexBridge_Online.exe -o FlexBridge_Online.exe
178+ insignia -ab offline-engine.exe FlexBridge_Offline.exe -o FlexBridge_Offline.exe
179+
180+ - name : Sign Bundles
181+ if : github.event_name != 'pull_request'
182+ uses : sillsdev/codesign/trusted-signing-action@v3
183+ with :
184+ credentials : ${{ secrets.TRUSTED_SIGNING_CREDENTIALS }}
185+ files-folder : BuildDir
186+ files-folder-filter : FieldWorks_*.exe
187+ description : ' FieldWorks Installer'
188+ description-url : ' https://software.sil.org/fieldworks/'
189+
190+ - name : Upload Signed Installers
191+ uses : actions/upload-artifact@v4
192+ if : github.event_name != 'pull_request'
193+ with :
194+ name : FieldWorks-Installers
195+ path : BuildDir/FieldWorks_*.exe
196+ if-no-files-found : warn
197+
198+ - name : Upload Build Logs
199+ uses : actions/upload-artifact@v4
200+ if : always()
160201 with :
161202 name : build-logs
162203 path : |
163204 Build/*.log
164- Build/*.binlog
205+ Build/*.binlog
0 commit comments