Merge branch 'ci-mac'

Define all Mac CI jobs in the same file and update the badges in the
README to show badges for Unix/MSW/Mac builds separately.

See https://github.com/wxWidgets/wxWidgets/pull/2504
This commit is contained in:
Vadim Zeitlin
2021-08-29 00:43:36 +02:00
6 changed files with 43 additions and 41 deletions

View File

@@ -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"

View File

@@ -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'

View File

@@ -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

View File

@@ -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/**'

View File

@@ -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/**'

View File

@@ -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: