Compile release binaries on the self-hosted runner in Russia #140
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: CI_build | |
| on: [push, pull_request] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build and tests (${{ matrix.build_configuration }}, ${{ matrix.build_platform }}) | |
| runs-on: windows-2022 | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 6 | |
| matrix: | |
| build_configuration: [Release, Debug] | |
| build_platform: [x64, Win32, ARM64] | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Add msbuild to PATH | |
| uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3 | |
| - name: Ensure ARM64 C++ build tools | |
| if: matrix.build_platform == 'ARM64' | |
| shell: pwsh | |
| run: .\scripts\Ensure-VsArm64Tools.ps1 | |
| - name: MSBuild of plugin dll | |
| working-directory: vs.proj\ | |
| run: msbuild MarkdownTableEditor.vcxproj /m /p:configuration="${{ matrix.build_configuration }}" /p:platform="${{ matrix.build_platform }}" | |
| - name: Core coverage | |
| if: matrix.build_platform == 'x64' && matrix.build_configuration == 'Debug' | |
| run: msbuild Package.proj /m /t:Coverage /p:Configuration=Debug /p:Platform=x64 | |
| - name: Core performance benchmarks | |
| if: matrix.build_platform == 'x64' && matrix.build_configuration == 'Release' | |
| run: msbuild Package.proj /m /t:CorePerformance /p:Configuration=Release /p:Platform=x64 | |
| - name: Compatibility script safety tests | |
| if: matrix.build_platform == 'x64' && matrix.build_configuration == 'Debug' | |
| shell: pwsh | |
| run: msbuild Package.proj /m /t:RunCompatibilityScriptSafetyTests | |
| - name: Upload coverage to Codecov | |
| if: matrix.build_platform == 'x64' && matrix.build_configuration == 'Debug' | |
| uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7 | |
| with: | |
| files: build/reports/coverage/coverage.cobertura.xml | |
| disable_search: true | |
| flags: cpp-core | |
| name: notepad-markdown-table-editor | |
| fail_ci_if_error: false | |
| - name: Archive artifacts for x64 | |
| if: matrix.build_platform == 'x64' && matrix.build_configuration == 'Release' | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: plugin_dll_x64 | |
| path: bin64\MarkdownTableEditor.dll | |
| if-no-files-found: error | |
| retention-days: 14 | |
| - name: Archive artifacts for Win32 | |
| if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Release' | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: plugin_dll_x86 | |
| path: bin\MarkdownTableEditor.dll | |
| if-no-files-found: error | |
| retention-days: 14 | |
| - name: Archive artifacts for ARM64 | |
| if: matrix.build_platform == 'ARM64' && matrix.build_configuration == 'Release' | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: plugin_dll_arm64 | |
| path: arm64\MarkdownTableEditor.dll | |
| if-no-files-found: error | |
| retention-days: 14 | |
| npp-ui-smoke: | |
| name: Tests / Notepad++ compatibility smoke | |
| runs-on: windows-2022 | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Add msbuild to PATH | |
| uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3 | |
| - name: Notepad++ compatibility smoke | |
| shell: pwsh | |
| run: msbuild Package.proj "/t:NppCompatibilitySmoke;NppLatestSmoke" |