Merge branch 'ci-stl'

Add STL builds to GitHub CI.

See https://github.com/wxWidgets/wxWidgets/pull/2529
This commit is contained in:
Vadim Zeitlin 2022-01-11 23:50:42 +01:00
commit 394842aa8f
3 changed files with 21 additions and 4 deletions

View File

@ -73,10 +73,10 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- name: wxMac ARM C++11 - name: wxMac ARM C++11 STL
runner: self-hosted runner: self-hosted
arch: arm64 arch: arm64
configure_flags: --with-cxx=11 configure_flags: --with-cxx=11 --enable-stl
use_asan: true use_asan: true
- name: wxMac Intel C++17 - name: wxMac Intel C++17
runner: self-hosted runner: self-hosted
@ -213,7 +213,11 @@ jobs:
if: matrix.skip_testing != true if: matrix.skip_testing != true
working-directory: tests working-directory: tests
run: | run: |
export ASAN_OPTIONS=fast_unwind_on_malloc=0 # We currently need to disable container overflow detection as we get
# what seems to be a false positive in BitmapComboBoxTestCase triggered
# by creating a new string from std::allocator<wxString>::construct()
# used by std::vector<>::insert().
export ASAN_OPTIONS='fast_unwind_on_malloc=0 detect_container_overflow=0'
# Exclude tests that are currently known to fail # Exclude tests that are currently known to fail
wx_tests_selection='~[valnum] ~wxPersistTLW ~wxPersistDVC ~wxTopLevel::Show ~wxFont::Weight ~wxFont::NativeFontInfo ~WebView ~RadioButton::Single ~RadioButton::Focus ~wxHtmlPrintout::Pagination ~wxTextCtrl::GetBestSize ~TextCtrlTestCase ~ClippingBoxTestCase::wxClientDC ~wxExecute::RedirectUTF8 ~Ellipsization::NormalCase ~SpinCtrl::* ~SpinCtrlDouble::* ~NotebookTestCase ~SettingsTestCase ~XRC::LoadURL ~Window::Show ~ModalDialogsTestCase ~Button::Click ~Button::Disabled ~wxDVC::GetItemRect ~wxDVC::AppendTextColumn ~Grid::KeyboardSelection ~Grid::CellClick ~Grid::ReorderedColumnsCellClick ~Grid::CellSelect ~wxStyledTextCtrl::AutoComp ~EvtLoopTestCase ~EventPropagationTestCase' wx_tests_selection='~[valnum] ~wxPersistTLW ~wxPersistDVC ~wxTopLevel::Show ~wxFont::Weight ~wxFont::NativeFontInfo ~WebView ~RadioButton::Single ~RadioButton::Focus ~wxHtmlPrintout::Pagination ~wxTextCtrl::GetBestSize ~TextCtrlTestCase ~ClippingBoxTestCase::wxClientDC ~wxExecute::RedirectUTF8 ~Ellipsization::NormalCase ~SpinCtrl::* ~SpinCtrlDouble::* ~NotebookTestCase ~SettingsTestCase ~XRC::LoadURL ~Window::Show ~ModalDialogsTestCase ~Button::Click ~Button::Disabled ~wxDVC::GetItemRect ~wxDVC::AppendTextColumn ~Grid::KeyboardSelection ~Grid::CellClick ~Grid::ReorderedColumnsCellClick ~Grid::CellSelect ~wxStyledTextCtrl::AutoComp ~EvtLoopTestCase ~EventPropagationTestCase'
./test_gui $wx_tests_selection ./test_gui $wx_tests_selection

View File

@ -58,6 +58,7 @@ jobs:
- configuration: 'DLL Release' - configuration: 'DLL Release'
platform: 'x64' platform: 'x64'
vsversion: 2019 vsversion: 2019
use_stl: true
steps: steps:
- name: Checkout - name: Checkout
@ -65,6 +66,15 @@ jobs:
with: with:
submodules: 'recursive' 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 - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.3 uses: microsoft/setup-msbuild@v1.0.3
with: with:

View File

@ -58,9 +58,12 @@ jobs:
matrix: matrix:
include: include:
- name: wxMSW 64 bits - name: wxMSW 64 bits
configure_flags: --enable-stl --disable-compat30
- name: wxMSW 32 bits - name: wxMSW 32 bits
triplet: i686-w64-mingw32 triplet: i686-w64-mingw32
env: env:
wxCONFIGURE_FLAGS: ${{ matrix.configure_flags }}
# Default to 64-bit build. # Default to 64-bit build.
HOST_TRIPLET: ${{ matrix.triplet || 'x86_64-w64-mingw32' }} HOST_TRIPLET: ${{ matrix.triplet || 'x86_64-w64-mingw32' }}
@ -144,7 +147,7 @@ jobs:
- name: Configure - name: Configure
run: | run: |
./configure --host=${HOST_TRIPLET} --disable-sys-libs --disable-optimise --disable-debug_info || rc=$? ./configure --host=${HOST_TRIPLET} --disable-sys-libs --disable-optimise --disable-debug_info $wxCONFIGURE_FLAGS || rc=$?
if [ -n "$rc" ]; then if [ -n "$rc" ]; then
echo '*** Configuring failed, contents of config.log follows: ***' echo '*** Configuring failed, contents of config.log follows: ***'