-
Notifications
You must be signed in to change notification settings - Fork 8
136 lines (114 loc) · 3.96 KB
/
macos.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: macOS
on:
push:
branches:
- develop
- main
paths:
- .github/workflows/macos.yml
- cmake/**
- include/**
- single_include/**
- tests/**
- CMakeLists.txt
pull_request:
paths:
- .github/workflows/macos.yml
- cmake/**
- include/**
- single_include/**
- tests/**
- CMakeLists.txt
workflow_dispatch:
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
jobs:
macos-latest:
timeout-minutes: 10
runs-on: macos-latest
strategy:
matrix:
build_type: [ Debug, Release ]
single_header: ["ON", "OFF"]
env:
JOBS: 2
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFK_YAML_BUILD_TEST=ON -DFK_YAML_USE_SINGLE_HEADER=${{matrix.single_header}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} -j ${{env.JOBS}}
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{matrix.build_type}} --output-on-failure -j ${{env.JOBS}}
xcode_for_macos13:
timeout-minutes: 10
runs-on: macos-13
strategy:
matrix:
xcode: [ '14.1', '14.2', '14.3.1', '15.0.1', '15.1', '15.2' ]
build_type: [ Debug, Release ]
env:
DEVELOPER_DIR: /Applications/Xcode_${{matrix.xcode}}.app/Contents/Developer
JOBS: 3
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFK_YAML_BUILD_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} -j ${{env.JOBS}}
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{matrix.build_type}} --output-on-failure -j ${{env.JOBS}}
xcode_for_macos14:
timeout-minutes: 10
runs-on: macos-14
strategy:
matrix:
# The macos-14 runner image will contain only Xcode 15.x versions due to support policy changes.
# Xcode 16.x versions are tested with the macos-15 runner image.
# See https://github.com/actions/runner-images/issues/10703 for more details.
xcode: [ '15.0.1', '15.1', '15.2', '15.3', '15.4' ]
build_type: [ Debug, Release ]
env:
DEVELOPER_DIR: /Applications/Xcode_${{matrix.xcode}}.app/Contents/Developer
JOBS: 2
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFK_YAML_BUILD_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} -j ${{env.JOBS}}
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{matrix.build_type}} --output-on-failure -j ${{env.JOBS}}
xcode_for_macos15:
timeout-minutes: 10
runs-on: macos-15
strategy:
matrix:
# The macos-14 runner image will contain only Xcode 16.x versions.
# See https://github.com/actions/runner-images/issues/10703 for more details.
xcode: [ '16', '16.1' ]
build_type: [ Debug, Release ]
env:
DEVELOPER_DIR: /Applications/Xcode_${{matrix.xcode}}.app/Contents/Developer
JOBS: 2
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFK_YAML_BUILD_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} -j ${{env.JOBS}}
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{matrix.build_type}} --output-on-failure -j ${{env.JOBS}}