Merge branch 'release/9.2' into feature/gha-cd #18
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Base Installer | |
| on: | |
| push: | |
| branches: ["release/9.3", "feature/gha-cd"] | |
| workflow_dispatch: | |
| inputs: | |
| fw_ref: | |
| description: 'Commit-ish (branch, tag, SHA) to checkout for the main repository' | |
| required: false | |
| default: '' | |
| helps_ref: | |
| description: 'Commit-ish for helps repository' | |
| required: false | |
| default: 'develop' | |
| installer_ref: | |
| description: 'Commit-ish for PatchableInstaller repository' | |
| required: false | |
| default: 'master' | |
| localizations_ref: | |
| description: 'Commit-ish for localization repository' | |
| required: false | |
| default: 'develop' | |
| lcm_ref: | |
| description: 'Commit-ish for liblcm repository' | |
| required: false | |
| default: 'master' | |
| s3_copy: | |
| description: 'Copy this build result to S3' | |
| required: false | |
| default: false | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| debug_build_and_test: | |
| env: | |
| CROWDIN_API_KEY: ${{ secrets.FLEX_CROWDIN_API }} | |
| LcmRootDir: ${{ github.workspace }}/Localizations/LCM | |
| name: Build Debug and run Tests | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout Files | |
| uses: actions/checkout@v4 | |
| id: checkout | |
| with: | |
| ref: ${{ github.event.inputs.fw_ref || github.ref }} | |
| fetch-depth: 0 | |
| - name: Checkout Helps | |
| uses: actions/checkout@v4 | |
| id: helps-checkout | |
| with: | |
| repository: 'sillsdev/FwHelps' | |
| ref: ${{ github.event.inputs.helps_ref || 'develop' }} | |
| fetch-depth: 0 | |
| path: 'DistFiles/Helps' | |
| - name: Checkout PatchableInstaller | |
| uses: actions/checkout@v4 | |
| id: installer-checkout | |
| with: | |
| repository: 'sillsdev/genericinstaller' | |
| ref: ${{ github.event.inputs.installer_ref || 'master' }} | |
| fetch-depth: 0 | |
| path: 'PatchableInstaller' | |
| - name: Checkout Localizations | |
| uses: actions/checkout@v4 | |
| id: loc-checkout | |
| with: | |
| repository: 'sillsdev/FwLocalizations' | |
| ref: ${{ github.event.inputs.localizations_ref || 'develop' }} | |
| fetch-depth: 0 | |
| path: 'Localizations' | |
| - name: Checkout liblcm | |
| uses: actions/checkout@v4 | |
| id: liblcm-checkout | |
| with: | |
| repository: 'sillsdev/liblcm' | |
| ref: ${{ github.event.inputs.installer_ref || 'master' }} | |
| fetch-depth: 0 | |
| path: 'Localizations/LCM' | |
| - name: Download 461 targeting pack | |
| uses: suisei-cn/actions-download-file@818d6b7dc8fe73f2f924b6241f2b1134ca1377d9 # 1.6.0 | |
| id: downloadfile # Remember to give an ID if you need the output filename | |
| with: | |
| url: "https://download.microsoft.com/download/F/1/D/F1DEB8DB-D277-4EF9-9F48-3A65D4D8F965/NDP461-DevPack-KB3105179-ENU.exe" | |
| target: public/ | |
| - name: Install targeting pack | |
| shell: cmd | |
| working-directory: public | |
| run: NDP461-DevPack-KB3105179-ENU.exe /q | |
| - name: Setup dotnet | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 2.1.x | |
| 3.1.x | |
| 5.0.x | |
| - name: Install Overcrowdin | |
| shell: cmd | |
| run: | | |
| dotnet tool update -g overcrowdin || dotnet tool install -g overcrowdin | |
| - name: Prepare for build | |
| shell: cmd | |
| working-directory: Build | |
| run: build64.bat /t:WriteNonlocalDevelopmentPropertiesFile | |
| - name: Build Debug and run tests | |
| id: build_installer | |
| shell: powershell | |
| run: | | |
| cd Build | |
| .\build64.bat /t:BuildBaseInstaller /property:config=release;action=test;desktopNotAvailable=true /v:d /bl ^| tee-object -FilePath build.log | |
| cd .. | |
| cd BuildDir | |
| md5sum *.exe > md5.txt | |
| - name: Scan Debug Build Output | |
| shell: powershell | |
| working-directory: Build | |
| run: | | |
| $results = Select-String -Path "build.log" -Pattern "^\s*[1-9][0-9]* Error\(s\)" | |
| if ($results) { | |
| foreach ($result in $results) { | |
| Write-Host "Found errors in build.log $($result.LineNumber): $($result.Line)" -ForegroundColor red | |
| } | |
| exit 1 | |
| } else { | |
| Write-Host "No errors found" -ForegroundColor green | |
| exit 0 | |
| } | |
| - name: Capture Test Results | |
| shell: powershell | |
| working-directory: Build | |
| run: .\NUnitReport /a ^| tee-object -FilePath test-results.log | |
| - name: Report Test Results | |
| uses: sillsdev/fw-nunitreport-action@v2.0.0 | |
| with: | |
| log-path: Build/test-results.log | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Copy to S3 | |
| if: ${{ github.event.inputs.s3_copy }} | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| AWS_REGION: us-east-1 | |
| S3_BUCKET: flex-updates | |
| S3_KEY: base-build/artifact.tar.gz | |
| run: | | |
| tar -czf artifact.tar.gz BuildDir | |
| aws s3 cp artifact.tar.gz s3://$S3_BUCKET/$S3_KEY | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-logs | |
| path: | | |
| Build/*.log | |
| Build/*.binlog |