Merge branch 'm1-ci-builds'
Make self-hosted Mac CI builds faster and more useful. See https://github.com/wxWidgets/wxWidgets/pull/2476
This commit is contained in:
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@@ -6,7 +6,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '.github/workflows/MacS-M1-make.yml'
|
- '.github/workflows/ci_mac_selfhosted.yml'
|
||||||
- '.github/workflows/ci_cmake.yml'
|
- '.github/workflows/ci_cmake.yml'
|
||||||
- '.github/workflows/ci_msw_cross.yml'
|
- '.github/workflows/ci_msw_cross.yml'
|
||||||
- 'build/tools/appveyor*.bat'
|
- 'build/tools/appveyor*.bat'
|
||||||
@@ -24,7 +24,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '.github/workflows/MacS-M1-make.yml'
|
- '.github/workflows/ci_mac_selfhosted.yml'
|
||||||
- '.github/workflows/ci_cmake.yml'
|
- '.github/workflows/ci_cmake.yml'
|
||||||
- '.github/workflows/ci_msw_cross.yml'
|
- '.github/workflows/ci_msw_cross.yml'
|
||||||
- 'build/tools/appveyor*.bat'
|
- 'build/tools/appveyor*.bat'
|
||||||
|
2
.github/workflows/ci_cmake.yml
vendored
2
.github/workflows/ci_cmake.yml
vendored
@@ -7,6 +7,7 @@ on:
|
|||||||
- master
|
- master
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '.github/workflows/ci.yml'
|
- '.github/workflows/ci.yml'
|
||||||
|
- '.github/workflows/ci_mac_selfhosted.yml'
|
||||||
- '.github/workflows/ci_msw_cross.yml'
|
- '.github/workflows/ci_msw_cross.yml'
|
||||||
- 'build/tools/appveyor*.bat'
|
- 'build/tools/appveyor*.bat'
|
||||||
- 'distrib/**'
|
- 'distrib/**'
|
||||||
@@ -24,6 +25,7 @@ on:
|
|||||||
- master
|
- master
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '.github/workflows/ci.yml'
|
- '.github/workflows/ci.yml'
|
||||||
|
- '.github/workflows/ci_mac_selfhosted.yml'
|
||||||
- '.github/workflows/ci_msw_cross.yml'
|
- '.github/workflows/ci_msw_cross.yml'
|
||||||
- 'build/tools/appveyor*.bat'
|
- 'build/tools/appveyor*.bat'
|
||||||
- 'distrib/**'
|
- 'distrib/**'
|
||||||
|
@@ -1,12 +1,14 @@
|
|||||||
name: Mac make CI
|
name: Mac builds
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
|
- '.github/workflows/ci.yml'
|
||||||
|
- '.github/workflows/ci_cmake.yml'
|
||||||
|
- '.github/workflows/ci_msw_cross.yml'
|
||||||
- 'build/tools/appveyor*.bat'
|
- 'build/tools/appveyor*.bat'
|
||||||
- 'build/tools/travis-ci.sh'
|
|
||||||
- 'distrib/**'
|
- 'distrib/**'
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'interface/**'
|
- 'interface/**'
|
||||||
@@ -30,8 +32,10 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
|
- '.github/workflows/ci.yml'
|
||||||
|
- '.github/workflows/ci_cmake.yml'
|
||||||
|
- '.github/workflows/ci_msw_cross.yml'
|
||||||
- 'build/tools/appveyor*.bat'
|
- 'build/tools/appveyor*.bat'
|
||||||
- 'build/tools/travis-ci.sh'
|
|
||||||
- 'distrib/**'
|
- 'distrib/**'
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'interface/**'
|
- 'interface/**'
|
||||||
@@ -61,26 +65,26 @@ jobs:
|
|||||||
|
|
||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
|
|
||||||
name: ${{ matrix.build }}, arch ${{ matrix.arch }}, cxx${{ matrix.cxx }}
|
name: ${{ matrix.name }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
arch: [arm64e, x86_64]
|
|
||||||
build: [debug, release]
|
|
||||||
cxx: [11, 17]
|
|
||||||
include:
|
include:
|
||||||
- build: debug
|
- name: ARM C++11
|
||||||
configure_flags: --without-liblzma --enable-debug --disable-sys-libs --with-osx_cocoa
|
arch: arm64
|
||||||
- build: release
|
configure_flags: --with-cxx=11
|
||||||
configure_flags: --without-liblzma --disable-sys-libs --with-osx_cocoa
|
use_asan: true
|
||||||
- cxx: 17
|
- name: Intel C++17
|
||||||
cxxconfig: --with-macosx-version-min=10.12
|
arch: x86_64
|
||||||
- cxx: 11
|
configure_flags: --with-cxx=17 --with-macosx-version-min=10.12 --enable-debug
|
||||||
cxxconfig:
|
- name: Universal C++14
|
||||||
|
arch: arm64
|
||||||
|
configure_flags: --with-cxx=14 --enable-universal_binary=arm64,x86_64 --disable-shared --disable-debug --enable-optimise
|
||||||
|
|
||||||
env:
|
env:
|
||||||
wxCONFIGURE_FLAGS: ${{ matrix.configure_flags }} ${{ matrix.cxxconfig }} --with-cxx=${{ matrix.cxx }} --prefix=${{ github.workspace }}/localbin_${{ matrix.arch }}
|
wxCONFIGURE_FLAGS: --disable-sys-libs --without-liblzma ${{ matrix.configure_flags }} --prefix=${{ github.workspace }}/localbin_${{ matrix.arch }}
|
||||||
|
wxUSE_ASAN: ${{ matrix.use_asan && 1 || 0 }}
|
||||||
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer
|
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer
|
||||||
NSUnbufferedIO: YES
|
NSUnbufferedIO: YES
|
||||||
|
|
||||||
@@ -132,6 +136,15 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
wxCONFIGURE_OPTIONS="--disable-optimise $wxCONFIGURE_FLAGS"
|
wxCONFIGURE_OPTIONS="--disable-optimise $wxCONFIGURE_FLAGS"
|
||||||
./configure $wxCONFIGURE_OPTIONS --disable-debug_info || rc=$?
|
./configure $wxCONFIGURE_OPTIONS --disable-debug_info || rc=$?
|
||||||
|
if [ ${{ matrix.use_asan }} ]; then
|
||||||
|
wxASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
|
wxASAN_CXXFLAGS=$wxASAN_CFLAGS
|
||||||
|
wxASAN_LDFLAGS="-fsanitize=address"
|
||||||
|
|
||||||
|
./configure $wxCONFIGURE_OPTIONS --enable-debug "CFLAGS=$wxASAN_CFLAGS" "CXXFLAGS=$wxASAN_CXXFLAGS" "LDFLAGS=$wxASAN_LDFLAGS" || rc=$?
|
||||||
|
else
|
||||||
|
./configure $wxCONFIGURE_OPTIONS --disable-debug_info || rc=$?
|
||||||
|
fi
|
||||||
if [ -n "$rc" ]; then
|
if [ -n "$rc" ]; then
|
||||||
echo '*** Configuring failed, contents of config.log follows: ***'
|
echo '*** Configuring failed, contents of config.log follows: ***'
|
||||||
echo '-----------------------------------------------------------'
|
echo '-----------------------------------------------------------'
|
6
.github/workflows/ci_msw_cross.yml
vendored
6
.github/workflows/ci_msw_cross.yml
vendored
@@ -1,5 +1,5 @@
|
|||||||
# CI workflow cross-building wxMSW under Linux.
|
# CI workflow cross-building wxMSW under Linux.
|
||||||
name: wxMSW cross-build
|
name: MSW cross-builds
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -7,6 +7,8 @@ on:
|
|||||||
- master
|
- master
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '.github/workflows/ci.yml'
|
- '.github/workflows/ci.yml'
|
||||||
|
- '.github/workflows/ci_cmake.yml'
|
||||||
|
- '.github/workflows/ci_mac_selfhosted.yml'
|
||||||
- 'build/tools/appveyor*.bat'
|
- 'build/tools/appveyor*.bat'
|
||||||
- 'distrib/**'
|
- 'distrib/**'
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
@@ -25,6 +27,8 @@ on:
|
|||||||
- master
|
- master
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '.github/workflows/ci.yml'
|
- '.github/workflows/ci.yml'
|
||||||
|
- '.github/workflows/ci_cmake.yml'
|
||||||
|
- '.github/workflows/ci_mac_selfhosted.yml'
|
||||||
- 'build/tools/appveyor*.bat'
|
- 'build/tools/appveyor*.bat'
|
||||||
- 'distrib/**'
|
- 'distrib/**'
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
|
@@ -331,6 +331,8 @@ extern WXDLLIMPEXP_BASE void wxOnAssert(const char *file,
|
|||||||
#define wxFAIL
|
#define wxFAIL
|
||||||
#define wxFAIL_MSG(msg)
|
#define wxFAIL_MSG(msg)
|
||||||
#define wxFAIL_COND_MSG(cond, msg)
|
#define wxFAIL_COND_MSG(cond, msg)
|
||||||
|
#define wxFAIL_MSG_AT(msg, file, line, func)
|
||||||
|
#define wxFAIL_COND_MSG_AT(cond, msg, file, line, func)
|
||||||
#endif // wxDEBUG_LEVEL
|
#endif // wxDEBUG_LEVEL
|
||||||
|
|
||||||
#if wxDEBUG_LEVEL >= 2
|
#if wxDEBUG_LEVEL >= 2
|
||||||
|
@@ -34,6 +34,10 @@ class WXDLLIMPEXP_FWD_CORE wxFileDialogBase;
|
|||||||
#include "wx/msgdlg.h"
|
#include "wx/msgdlg.h"
|
||||||
#include "wx/filedlg.h"
|
#include "wx/filedlg.h"
|
||||||
|
|
||||||
|
#ifndef __WXDEBUG__
|
||||||
|
#include "wx/crt.h"
|
||||||
|
#endif // !__WXDEBUG__
|
||||||
|
|
||||||
#include <typeinfo>
|
#include <typeinfo>
|
||||||
|
|
||||||
class wxTestingModalHook;
|
class wxTestingModalHook;
|
||||||
@@ -421,10 +425,20 @@ protected:
|
|||||||
// course, can itself be customized.
|
// course, can itself be customized.
|
||||||
virtual void ReportFailure(const wxString& msg)
|
virtual void ReportFailure(const wxString& msg)
|
||||||
{
|
{
|
||||||
|
#ifdef __WXDEBUG__
|
||||||
wxFAIL_MSG_AT( msg,
|
wxFAIL_MSG_AT( msg,
|
||||||
m_file ? m_file : __FILE__,
|
m_file ? m_file : __FILE__,
|
||||||
m_line ? m_line : __LINE__,
|
m_line ? m_line : __LINE__,
|
||||||
m_func ? m_func : __WXFUNCTION__ );
|
m_func ? m_func : __WXFUNCTION__ );
|
||||||
|
#else // !__WXDEBUG__
|
||||||
|
// We still need to report the failure somehow when wx asserts are
|
||||||
|
// disabled.
|
||||||
|
wxFprintf(stderr, wxASCII_STR("%s at %s:%d in %s()\n"),
|
||||||
|
msg,
|
||||||
|
wxASCII_STR(m_file ? m_file : __FILE__),
|
||||||
|
m_line ? m_line : __LINE__,
|
||||||
|
wxASCII_STR(m_func ? m_func : __WXFUNCTION__));
|
||||||
|
#endif // __WXDEBUG__/!__WXDEBUG__
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@@ -125,6 +125,8 @@ void MiscTestCase::Delete()
|
|||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef __WXDEBUG__
|
||||||
|
|
||||||
// helper function used just to avoid warnings about value computed not being
|
// helper function used just to avoid warnings about value computed not being
|
||||||
// used in WX_ASSERT_FAILS_WITH_ASSERT() in StaticCast() below
|
// used in WX_ASSERT_FAILS_WITH_ASSERT() in StaticCast() below
|
||||||
bool IsNull(void *p)
|
bool IsNull(void *p)
|
||||||
@@ -132,6 +134,8 @@ bool IsNull(void *p)
|
|||||||
return p == NULL;
|
return p == NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // __WXDEBUG__
|
||||||
|
|
||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
|
||||||
void MiscTestCase::StaticCast()
|
void MiscTestCase::StaticCast()
|
||||||
|
@@ -128,6 +128,7 @@ public:
|
|||||||
// normal build with wxDEBUG_LEVEL != 0 we can pass something not
|
// normal build with wxDEBUG_LEVEL != 0 we can pass something not
|
||||||
// evaluating to a bool at all but it then would fail to compile in
|
// evaluating to a bool at all but it then would fail to compile in
|
||||||
// wxDEBUG_LEVEL == 0 case, so just don't do anything at all now).
|
// wxDEBUG_LEVEL == 0 case, so just don't do anything at all now).
|
||||||
|
#define WX_ASSERT_FAILS_WITH_ASSERT_MESSAGE(msg, code)
|
||||||
#define WX_ASSERT_FAILS_WITH_ASSERT(cond)
|
#define WX_ASSERT_FAILS_WITH_ASSERT(cond)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user