mirror of
https://github.com/wxWidgets/wxWidgets.git
synced 2026-08-18 01:19:45 +08:00
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
Node v20 has gone EOL and will be removed from GitHub Actions soon. This migrates all the GitHub Actions to use versions that are Node 24 compatible. The only change of real substance is moving to the step-security fork of gha-setup-vsdevenv which seems probably better than wx maintaining its own fork.
185 lines
6.4 KiB
YAML
185 lines
6.4 KiB
YAML
# CI workflow building wxMSW under Windows.
|
|
name: MSW builds
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- '.circleci/**'
|
|
- '.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/tools/appveyor*.bat'
|
|
- 'distrib/**'
|
|
- 'docs/**'
|
|
- 'interface/**'
|
|
- 'include/wx/gtk/**'
|
|
- 'include/wx/osx/**'
|
|
- 'locale/**'
|
|
- 'src/gtk/**'
|
|
- 'src/osx/**'
|
|
- '*.md'
|
|
- '*.yml'
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- '.circleci/**'
|
|
- '.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/tools/appveyor*.bat'
|
|
- 'distrib/**'
|
|
- 'docs/**'
|
|
- 'interface/**'
|
|
- 'include/wx/gtk/**'
|
|
- 'include/wx/osx/**'
|
|
- 'locale/**'
|
|
- 'src/gtk/**'
|
|
- 'src/osx/**'
|
|
- '*.md'
|
|
- '*.yml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
msw-msvs:
|
|
runs-on: ${{ matrix.runner }}
|
|
name: wxMSW ${{ matrix.compiler }} ${{ matrix.configuration }} ${{ matrix.platform }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- configuration: 'DLL Debug'
|
|
platform: 'x64'
|
|
runner: windows-2022
|
|
compiler: vs2022
|
|
compiler_suffix: vc17.sln
|
|
use_utf8: true
|
|
- configuration: 'Release'
|
|
platform: 'arm64'
|
|
runner: windows-2022
|
|
compiler: vs2022
|
|
compiler_suffix: vc17.sln
|
|
skip_running_tests: true
|
|
- configuration: 'Debug'
|
|
platform: 'Win32'
|
|
runner: windows-2022
|
|
compiler: vs2022
|
|
compiler_suffix: vc17.sln
|
|
use_cxx20: true
|
|
use_compat_3_0: true
|
|
- configuration: 'DLL Release'
|
|
use_std_string: true
|
|
platform: 'x64'
|
|
runner: windows-2022
|
|
compiler: vs2022
|
|
compiler_suffix: vc17.sln
|
|
- configuration: 'DLL Release'
|
|
platform: 'x64'
|
|
runner: windows-2025-vs2026
|
|
compiler: vs2026
|
|
compiler_suffix: vc18.slnx
|
|
use_cxx20: true
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
submodules: 'recursive'
|
|
|
|
- name: Configure build options
|
|
working-directory: include/wx/msw
|
|
run: |
|
|
$use_std_string = "${{ matrix.use_std_string }}" ? 1 : 0
|
|
$use_utf8 = "${{ matrix.use_utf8 }}" ? 1 : 0
|
|
$use_compat_3_0 = "${{ matrix.use_compat_3_0 }}" ? 1 : 0
|
|
$no_compat_3_2 = "${{ matrix.no_compat_3_2 }}" ? 1 : 0
|
|
if ( $use_std_string -or $use_utf8 -or $use_compat_3_0 -or $no_compat_3_2 ) {
|
|
$use_compat_3_2 = 1 - $no_compat_3_2
|
|
$txt = Get-Content setup.h
|
|
Write-Output $txt |
|
|
%{$_ -replace "define WXWIN_COMPATIBILITY_3_0 0", "define WXWIN_COMPATIBILITY_3_0 $use_compat_3_0"} |
|
|
%{$_ -replace "define WXWIN_COMPATIBILITY_3_2 1", "define WXWIN_COMPATIBILITY_3_2 $use_compat_3_2"} |
|
|
%{$_ -replace "define wxUSE_STD_STRING_CONV_IN_WXSTRING 0", "define wxUSE_STD_STRING_CONV_IN_WXSTRING $use_std_string"} |
|
|
%{$_ -replace "define wxUSE_UNICODE_UTF8 0", "define wxUSE_UNICODE_UTF8 $use_utf8"} |
|
|
Set-Content setup.h
|
|
}
|
|
$use_cxx20 = "${{ matrix.use_cxx20 }}" ? 1 : 0
|
|
if ( $use_cxx20 ) {
|
|
cd ..\..\..\build\msw
|
|
cp cxx20.props wx_local.props
|
|
# Enable Lunasvg for C++20 builds
|
|
cd ..\..\include\wx\msw
|
|
$txt = Get-Content setup.h
|
|
Write-Output $txt |
|
|
%{$_ -replace "#define wxUSE_LUNASVG 0", "#define wxUSE_LUNASVG 1"} |
|
|
Set-Content setup.h
|
|
}
|
|
|
|
- name: Add MSBuild to PATH
|
|
uses: microsoft/setup-msbuild@v3
|
|
with:
|
|
vs-prerelease: true
|
|
|
|
- name: Build
|
|
run: |
|
|
msbuild /noLogo /m /warnaserror '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} build\msw\wx_${{ matrix.compiler_suffix }}
|
|
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 samples
|
|
if: matrix.platform != 'arm64'
|
|
run: |
|
|
msbuild /noLogo /m /warnaserror '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} samples\samples_${{ matrix.compiler_suffix }}
|
|
|
|
- name: Build tests
|
|
run: |
|
|
msbuild /noLogo /m /warnaserror '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} tests\test_${{ matrix.compiler_suffix }}
|
|
|
|
- name: Run tests
|
|
if: matrix.skip_running_tests != true
|
|
working-directory: tests
|
|
run: |
|
|
go install github.com/mccutchen/go-httpbin/v2/cmd/go-httpbin@v2
|
|
$gopath = $(go env GOPATH)
|
|
$env:PATH += ";$gopath\bin"
|
|
Start-Job -Name wx_httpbin { go-httpbin -host 127.0.0.1 -port 8081 2>&1 > httpbin.log }
|
|
Start-Sleep -Seconds 5
|
|
curl.exe --silent --show-error http://127.0.0.1:8081/ip > $null
|
|
if ($lastExitCode -eq "0") {
|
|
$env:WX_TEST_WEBREQUEST_URL="http://127.0.0.1:8081"
|
|
}
|
|
else {
|
|
Write-Error "Disabling wxWebRequest tests as launching httpbin failed, log follows:"
|
|
Get-Content httpbin.log
|
|
$env:WX_TEST_WEBREQUEST_URL="0"
|
|
}
|
|
|
|
.\vc*msw*\test.exe
|
|
|
|
- name: Build GUI tests
|
|
run: |
|
|
msbuild /noLogo /m /warnaserror '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} tests\test_gui_${{ matrix.compiler_suffix }}
|
|
|
|
- name: Run GUI tests
|
|
if: matrix.skip_running_tests != true
|
|
working-directory: tests
|
|
run: |
|
|
.\vc*msw*\test_gui.exe
|