-
Notifications
You must be signed in to change notification settings - Fork 43
66 lines (56 loc) · 1.74 KB
/
linux.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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}}
...