diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8052a6427a..2fcee94db3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ on: branches: - master paths-ignore: - - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_mac.yml' - '.github/workflows/ci_cmake.yml' - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' @@ -25,7 +25,7 @@ on: branches: - master paths-ignore: - - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_mac.yml' - '.github/workflows/ci_cmake.yml' - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' @@ -98,16 +98,6 @@ jobs: runner: ubuntu-18.04 configure_flags: --with-qt --enable-pch --without-opengl skip_samples: true - - name: macOS 10.15 wxMac - runner: macos-10.15 - configure_flags: --disable-sys-libs - - name: macOS 10.15 wxiOS - runner: macos-10.15 - configure_flags: --with-osx_iphone --enable-monolithic --disable-sys-libs --host=i686-apple-darwin_sim --build=x86_64-apple-darwin17.7.0 - xcode_sdk: iphonesimulator - skip_samples: true - skip_testing: true - allow_warnings: true env: wxGTK_VERSION: ${{ matrix.gtk_version && matrix.gtk_version || 3 }} @@ -170,11 +160,6 @@ jobs: wxCONFIGURE_OPTIONS="--with-gtk=${{ matrix.gtk_version }} $wxCONFIGURE_OPTIONS" fi - if [ -n "${{ matrix.xcode_sdk }}" ]; then - sdk_path=`xcrun --sdk ${{ matrix.xcode_sdk }} --show-sdk-path` - wxCONFIGURE_OPTIONS="--with-macosx-sdk=$sdk_path $wxCONFIGURE_OPTIONS" - fi - if [ ${{ matrix.use_asan }} ]; then wxASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer" wxASAN_CXXFLAGS=$wxASAN_CFLAGS @@ -198,16 +183,12 @@ jobs: make -k $wxBUILD_ARGS "CXXFLAGS=$wxMAKEFILE_ERROR_CXXFLAGS" - name: Building tests - if: matrix.skip_testing != true working-directory: tests run: | - if [ !${{ matrix.skip_gui }} ]; then - make $wxBUILD_ARGS failtest - fi + make $wxBUILD_ARGS failtest make -k $wxBUILD_ARGS "CXXFLAGS=$wxMAKEFILE_CXXFLAGS" "LDFLAGS=$wxMAKEFILE_LDFLAGS" - name: Testing - if: matrix.skip_testing != true working-directory: tests run: | . ../build/tools/httpbin.sh @@ -234,7 +215,7 @@ jobs: fi - name: Testing GUI using Xvfb - if: matrix.skip_testing != true && matrix.skip_gui != true && matrix.use_xvfb + if: matrix.use_xvfb working-directory: tests run: | if [ ${{ matrix.use_asan }} ]; then @@ -264,17 +245,15 @@ jobs: fi - name: Building samples - if: matrix.skip_testing != true && matrix.skip_gui != true && matrix.skip_samples != true + if: matrix.skip_samples != true run: | make -k $wxBUILD_ARGS "CXXFLAGS=$wxMAKEFILE_CXXFLAGS" "LDFLAGS=$wxMAKEFILE_LDFLAGS" samples - name: Installing - if: matrix.skip_testing != true run: | sudo make install - name: Testing installation - if: matrix.skip_testing != true run: | make -C samples/minimal -f makefile.unx clean make -C samples/minimal -f makefile.unx $wxBUILD_ARGS "CXXFLAGS=$wxMAKEFILE_CXXFLAGS" "LDFLAGS=$wxMAKEFILE_LDFLAGS" diff --git a/.github/workflows/ci_cmake.yml b/.github/workflows/ci_cmake.yml index 4309ec34b5..755fdd7123 100644 --- a/.github/workflows/ci_cmake.yml +++ b/.github/workflows/ci_cmake.yml @@ -7,7 +7,7 @@ on: - master paths-ignore: - '.github/workflows/ci.yml' - - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_mac.yml' - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' @@ -26,7 +26,7 @@ on: - master paths-ignore: - '.github/workflows/ci.yml' - - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_mac.yml' - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' diff --git a/.github/workflows/ci_mac_selfhosted.yml b/.github/workflows/ci_mac.yml similarity index 85% rename from .github/workflows/ci_mac_selfhosted.yml rename to .github/workflows/ci_mac.yml index f62e9f4c0f..0542f28ab5 100644 --- a/.github/workflows/ci_mac_selfhosted.yml +++ b/.github/workflows/ci_mac.yml @@ -65,7 +65,7 @@ jobs: run: shell: /usr/bin/arch -arch ${{ matrix.arch }} /bin/bash -l {0} - runs-on: self-hosted + runs-on: ${{ matrix.runner }} name: ${{ matrix.name }} @@ -73,16 +73,31 @@ jobs: fail-fast: false matrix: include: - - name: ARM C++11 + - name: wxMac ARM C++11 + runner: self-hosted arch: arm64 configure_flags: --with-cxx=11 use_asan: true - - name: Intel C++17 + - name: wxMac Intel C++17 + runner: self-hosted arch: x86_64 configure_flags: --with-cxx=17 --with-macosx-version-min=10.12 --enable-debug - - name: Universal C++14 + - name: wxMac Universal C++14 + runner: self-hosted arch: arm64 configure_flags: --with-cxx=14 --enable-universal_binary=arm64,x86_64 --disable-shared --disable-debug --enable-optimise + - name: wxMac macOS 10.15 + runner: macos-10.15 + arch: x86_64 + configure_flags: --disable-sys-libs + - name: wxiOS + runner: macos-10.15 + arch: x86_64 + configure_flags: --with-osx_iphone --enable-monolithic --disable-sys-libs --host=i686-apple-darwin_sim --build=x86_64-apple-darwin17.7.0 + xcode_sdk: iphonesimulator + skip_samples: true + skip_testing: true + allow_warnings: true env: wxCONFIGURE_FLAGS: --disable-sys-libs --without-liblzma ${{ matrix.configure_flags }} --prefix=${{ github.workspace }}/localbin_${{ matrix.arch }} @@ -137,6 +152,12 @@ jobs: - name: Configuring run: | wxCONFIGURE_OPTIONS="--disable-optimise $wxCONFIGURE_FLAGS" + + if [ -n "${{ matrix.xcode_sdk }}" ]; then + sdk_path=`xcrun --sdk ${{ matrix.xcode_sdk }} --show-sdk-path` + wxCONFIGURE_OPTIONS="--with-macosx-sdk=$sdk_path $wxCONFIGURE_OPTIONS" + fi + ./configure $wxCONFIGURE_OPTIONS --disable-debug_info || rc=$? if [ ${{ matrix.use_asan }} ]; then wxASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer" @@ -161,9 +182,7 @@ jobs: - name: Building tests run: | - if [ !${{ matrix.skip_gui }} ]; then - make -C tests $wxBUILD_ARGS failtest - fi + make -C tests $wxBUILD_ARGS failtest make -k -C tests $wxBUILD_ARGS "CXXFLAGS=$wxMAKEFILE_CXXFLAGS" "LDFLAGS=$wxMAKEFILE_LDFLAGS" - name: Testing @@ -181,7 +200,7 @@ jobs: fi - name: Building samples - if: matrix.skip_testing != true && matrix.skip_gui != true && matrix.skip_samples != true + if: matrix.skip_testing != true && matrix.skip_samples != true run: | make -k $wxBUILD_ARGS "CXXFLAGS=$wxMAKEFILE_CXXFLAGS" "LDFLAGS=$wxMAKEFILE_LDFLAGS" samples diff --git a/.github/workflows/ci_msw.yml b/.github/workflows/ci_msw.yml index a4c9629c18..b322809307 100644 --- a/.github/workflows/ci_msw.yml +++ b/.github/workflows/ci_msw.yml @@ -8,7 +8,7 @@ on: paths-ignore: - '.github/workflows/ci.yml' - '.github/workflows/ci_cmake.yml' - - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_mac.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' @@ -27,7 +27,7 @@ on: paths-ignore: - '.github/workflows/ci.yml' - '.github/workflows/ci_cmake.yml' - - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_mac.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' diff --git a/.github/workflows/ci_msw_cross.yml b/.github/workflows/ci_msw_cross.yml index c27e062363..0edc18c01e 100644 --- a/.github/workflows/ci_msw_cross.yml +++ b/.github/workflows/ci_msw_cross.yml @@ -8,7 +8,7 @@ on: paths-ignore: - '.github/workflows/ci.yml' - '.github/workflows/ci_cmake.yml' - - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_mac.yml' - '.github/workflows/ci_msw.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' @@ -29,7 +29,7 @@ on: paths-ignore: - '.github/workflows/ci.yml' - '.github/workflows/ci_cmake.yml' - - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_mac.yml' - '.github/workflows/ci_msw.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' diff --git a/README.md b/README.md index 01ee832073..71169ad99c 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,11 @@ Platforms --------- [![AppVeyor](https://img.shields.io/appveyor/build/wxWidgets/wxWidgets/master?label=AppVeyor&logo=appveyor)](https://ci.appveyor.com/project/wxWidgets/wxwidgets) -[![Github](https://img.shields.io/github/checks-status/wxWidgets/wxWidgets/master?label=GitHub&logo=github)](https://github.com/wxWidgets/wxWidgets/actions) +[![Unix (make)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci.yml/badge.svg)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci.yml) +[![Unix (CMake)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci_cmake.yml/badge.svg)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci_cmake.yml) +[![MSW (MSVC)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci_msw.yml/badge.svg)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci_msw.yml) +[![MSW (gcc)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci_msw_cross.yml/badge.svg)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci_msw_cross.yml) +[![Mac](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci_mac.yml/badge.svg)](https://github.com/wxWidgets/wxWidgets/actions/workflows/ci_mac.yml) [![OSS-Fuzz](https://oss-fuzz-build-logs.storage.googleapis.com/badges/wxwidgets.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:wxwidgets) This version of wxWidgets supports the following primary platforms: