-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
41 changed files
with
1,010 additions
and
817 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
--- | ||
# yamllint disable rule:line-length | ||
name: Linux build | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
- ci_update | ||
paths-ignore: | ||
- 'manual/**' | ||
pull_request: | ||
branches: | ||
- master | ||
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: Ubuntu latest wxGTK 3 | ||
runner: ubuntu-latest | ||
cmake_generator: Unix Makefiles | ||
|
||
env: | ||
wxGTK_VERSION: ${{ matrix.gtk_version && matrix.gtk_version || 3 }} | ||
|
||
# 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: Test | ||
if: runner.os != 'Linux' | ||
# 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}} | ||
... |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
--- | ||
# 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}} | ||
... |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
--- | ||
# yamllint disable rule:line-length | ||
name: Windows 32bit build | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
- ci_update | ||
paths-ignore: | ||
- 'manual/**' | ||
tags: | ||
- '*' | ||
pull_request: | ||
branches: | ||
- master | ||
paths-ignore: | ||
- 'manual/**' | ||
|
||
env: | ||
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | ||
BUILD_TYPE: Release | ||
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | ||
|
||
|
||
jobs: | ||
build: | ||
runs-on: ${{ matrix.runner }} | ||
name: ${{ matrix.name }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- name: Windows MSVC | ||
runner: windows-latest | ||
no_sudo: 1 | ||
# TODO: Tests don't link on Windows, investigate and fix later | ||
cmake_defines: -T v143 -DCMAKE_GENERATOR_PLATFORM=win32 -DWITH_TESTS=OFF -DCMAKE_CXX_STANDARD=17 | ||
|
||
env: | ||
wxGTK_VERSION: ${{ matrix.gtk_version && matrix.gtk_version || 3 }} | ||
|
||
# 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' | ||
|
||
# required for CMake to find Ninja | ||
- name: "[Windows] Set up MSVC Developer Command Prompt" | ||
if: runner.os == 'Windows' | ||
uses: seanmiddleditch/gha-setup-vsdevenv@v3 | ||
with: | ||
host_arch: x86 | ||
arch: win32 | ||
|
||
- name: "[Windows] Dependencies, configure, build" | ||
if: runner.os == 'Windows' | ||
run: | | ||
call buildwin/win_deps.bat | ||
cmake -A win32 -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{ matrix.cmake_defines }} | ||
cmake --build build --config ${{env.BUILD_TYPE}} | ||
shell: cmd | ||
- name: "[Windows] Publish to Cloudsmith" | ||
if: runner.os == 'Windows' | ||
run: | | ||
cd build | ||
.\upload.bat | ||
shell: cmd | ||
... |
Oops, something went wrong.