-
Notifications
You must be signed in to change notification settings - Fork 214
142 lines (142 loc) · 4.1 KB
/
build.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
137
138
139
140
141
142
name: cesium-native
on: [push, pull_request]
jobs:
QuickChecks:
name: "Quick Checks"
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Check source formatting
run: |
npm install
npm run format -- --dry-run -Werror
Documentation:
runs-on: ubuntu-latest
steps:
- name: Install Doxygen
run: |
sudo apt install -y doxygen
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Generate Documentation
run: |
cmake -B build -S .
cmake --build build --target cesium-native-docs
- name: Publish Documentation Artifact
if: ${{ success() }}
uses: actions/upload-artifact@v3
with:
name: ReferenceDocumentation
path: build/doc/html
VS2019:
name: "Windows + VS2019"
runs-on: windows-2019
steps:
- name: Install nasm
run: |
choco install -y nasm
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build -S .
cmake --build build --config Debug --parallel 4
- name: Test Debug Configuration
run: |
cd build
ctest -V
- name: Compile RelWithDebInfo Configuration
run: |
cmake --build build --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build
ctest -V
VS2022:
name: "Windows + VS2022"
runs-on: windows-2022
steps:
- name: Install nasm
run: |
choco install -y nasm
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build -S .
cmake --build build --config Debug --parallel 4
- name: Test Debug Configuration
run: |
cd build
ctest -V
- name: Compile RelWithDebInfo Configuration
run: |
cmake --build build --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build
ctest -V
LinuxGCC:
name: "Linux + GCC"
runs-on: ubuntu-latest
steps:
- name: Install nasm
run: |
sudo apt-get install nasm
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build-debug -S . -DCMAKE_BUILD_TYPE:STRING=Debug
cmake --build build-debug --parallel 4
- name: Test Debug Configuration
run: |
cd build-debug
ctest -V
- name: Compile RelWithDebInfo Configuration
run: |
cmake -B build-release -S . -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
cmake --build build-release --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build-release
ctest -V
LinuxClang:
name: "Linux + Clang"
runs-on: ubuntu-latest
env:
CC: clang-12
CXX: clang++-12
steps:
- name: Install nasm
run: |
sudo apt-get install nasm
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build-debug -S . -DCMAKE_BUILD_TYPE:STRING=Debug
cmake --build build-debug --parallel 4
- name: Test Debug Configuration
run: |
cd build-debug
ctest -V
- name: Compile RelWithDebInfo Configuration
run: |
cmake -B build-release -S . -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
cmake --build build-release --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build-release
ctest -V