Skip to content

test for raylocate

test for raylocate #19

Workflow file for this run

---
# 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}}
...