Correction timeout fixed position #20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# yamllint disable rule:line-length | |
name: macOS build | |
on: | |
push: | |
branches: | |
- '*' | |
paths-ignore: | |
- 'manual/**' | |
tags: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
paths-ignore: | |
- 'manual/**' | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
jobs: | |
build: | |
runs-on: ${{ matrix.runner }} | |
name: ${{ matrix.name }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: macOS 'latest' Homebrew wxOSX | |
runner: macos-latest | |
cmake_generator: Xcode | |
cmake_defines: -DCMAKE_CXX_STANDARD=17 | |
use_homebrew: 1 | |
push_cloudsmith: 0 | |
- name: macOS 14 Homebrew wxOSX | |
runner: macos-14 | |
cmake_generator: Ninja | |
cmake_defines: -DCMAKE_CXX_STANDARD=17 | |
use_homebrew: 1 | |
push_cloudsmith: 0 | |
- name: macOS 13 Homebrew wxOSX | |
runner: macos-13 | |
cmake_generator: Ninja | |
cmake_defines: -DCMAKE_CXX_STANDARD=17 | |
use_homebrew: 1 | |
push_cloudsmith: 0 | |
#- name: macOS 11 wxOSX | |
# runner: macos-11 | |
# cmake_generator: Xcode | |
# cmake_defines: -DCMAKE_CXX_STANDARD=11 -DwxWidgets_CONFIG_EXECUTABLE=/tmp/wx322-2_opencpn50_macos1010/bin/wx-config -DwxWidgets_CONFIG_OPTIONS="--prefix=/tmp/wx322-2_opencpn50_macos1010" | |
# push_cloudsmith: 1 | |
#- name: macOS 10.15 wxOSX | |
# runner: macos-10.15 | |
# cmake_generator: Xcode | |
# cmake_defines: -DCMAKE_CXX_STANDARD=11 -DwxWidgets_CONFIG_EXECUTABLE=/tmp/wx322-2_opencpn50_macos1010/bin/wx-config -DwxWidgets_CONFIG_OPTIONS="--prefix=/tmp/wx322-2_opencpn50_macos1010" | |
env: | |
wxGTK_VERSION: ${{ matrix.gtk_version && matrix.gtk_version || 3 }} | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
# Use bash as the shell, even under MSW where the default is PowerShell. | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Before build | |
run: | | |
./ci/github-pre-build.sh | |
env: | |
USE_HOMEBREW: ${{ matrix.use_homebrew && matrix.use_homebrew || 0 }} | |
- name: Configure CMake | |
run: cmake -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{ matrix.cmake_defines }} | |
- name: Build | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
- name: Upload to Cloudsmith | |
if: matrix.push_cloudsmith == 1 | |
run: | | |
./upload.sh | |
working-directory: build | |
env: | |
UPLOAD_CLOUDSMITH: ${{ matrix.push_cloudsmith }} | |
- name: Test | |
# TODO: The tests do not work in headless Linux containers (GTK crashes) with wxWidgets 3.0 available in Ubuntu | |
# They seem to be fine with wx 3.1 though, so we will just remove the condition "later" when wx3.2 time comes | |
# On Windows, we would need opencpn.exe in the worjing directory to run the tests (and wxWidgets libs in the path) | |
working-directory: build | |
run: ctest -C ${{env.BUILD_TYPE}} | |
... |