wxWidgets/.github/workflows/ci_msw.yml
Vadim Zeitlin 032a71b4db Update GitHub actions to avoid relying on deprecated versions
This backports changes already done in master and upgrades to the
currently supported versions of the different actions, most importantly
actions/checkout one.
2022-12-18 03:22:54 +01:00

124 lines
3.5 KiB
YAML

# CI workflow building wxMSW under Windows.
name: MSW builds
on:
push:
branches:
- 3.2
paths-ignore:
- '.github/ISSUE_TEMPLATE/**'
- '.github/workflows/ci.yml'
- '.github/workflows/ci_cmake.yml'
- '.github/workflows/ci_mac.yml'
- '.github/workflows/ci_msw_cross.yml'
- '.github/workflows/docs_update.yml'
- 'build/cmake/**'
- 'build/tools/appveyor*.bat'
- 'distrib/**'
- 'docs/**'
- 'interface/**'
- 'include/wx/gtk/**'
- 'include/wx/osx/**'
- 'locale/**'
- 'src/gtk/**'
- 'src/osx/**'
- '*.md'
- '*.yml'
- 'CMakeLists.txt'
pull_request:
branches:
- 3.2
paths-ignore:
- '.github/ISSUE_TEMPLATE/**'
- '.github/workflows/ci.yml'
- '.github/workflows/ci_cmake.yml'
- '.github/workflows/ci_mac.yml'
- '.github/workflows/ci_msw_cross.yml'
- '.github/workflows/docs_update.yml'
- 'build/cmake/**'
- 'build/tools/appveyor*.bat'
- 'distrib/**'
- 'docs/**'
- 'interface/**'
- 'include/wx/gtk/**'
- 'include/wx/osx/**'
- 'locale/**'
- 'src/gtk/**'
- 'src/osx/**'
- '*.md'
- '*.yml'
- 'CMakeLists.txt'
permissions:
contents: read
jobs:
msw-msvs:
runs-on: windows-${{ matrix.vsversion }}
name: wxMSW vs${{ matrix.vsversion }} ${{ matrix.configuration }} ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
include:
- configuration: 'DLL Debug'
platform: 'x64'
vsversion: 2022
- configuration: 'Debug'
platform: 'Win32'
vsversion: 2019
- configuration: 'DLL Release'
platform: 'x64'
vsversion: 2019
use_stl: true
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Configure to use STL
if: matrix.use_stl
working-directory: include/wx/msw
run: |
$txt = Get-Content setup.h
Write-Output $txt |
%{$_ -replace "define wxUSE_STL 0", "define wxUSE_STL 1"} |
Set-Content setup.h
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.1.3
with:
vs-prerelease: true
- name: Build
run: |
msbuild /noLogo /m '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} build\msw\wx_vc16.sln
if ( '${{ matrix.configuration }}'.IndexOf('DLL') -ne -1 ) {
$dlldir = Join-Path (Get-Location) 'lib\vc_${{ matrix.platform }}_dll'
Write-Output "Adding $dlldir to the PATH"
$dlldir | Out-File -Append $env:GITHUB_PATH
}
- name: Build minimal sample
run: |
msbuild /noLogo /m '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} samples\minimal\minimal_vc16.sln
- name: Build tests
run: |
msbuild /noLogo /m '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} tests\test_vc16.sln
- name: Run tests
working-directory: tests
run: |
.\vc*msw*\test.exe
- name: Build GUI tests
run: |
msbuild /noLogo /m '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} tests\test_gui_vc16.sln
- name: Run GUI tests
working-directory: tests
run: |
.\vc*msw*\test_gui.exe