-
-
Notifications
You must be signed in to change notification settings - Fork 169
111 lines (101 loc) · 2.92 KB
/
ci.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
name: ci
on: [ workflow_dispatch, push, pull_request ]
jobs:
build_gcc:
runs-on: ubuntu-latest
strategy:
matrix:
build_config:
- { version: 13 }
- { version: 12 }
- { version: 11 }
- { version: 10 }
- { version: 9 }
container:
image: gcc:${{ matrix.build_config.version }}
options: -v /usr/local:/host_usr_local
name: "gcc-${{ matrix.build_config.version }}"
steps:
- uses: actions/checkout@main
- name: Setup
run: |
echo "/host_usr_local/bin" >> $GITHUB_PATH
script/ci_setup_linux.sh
- name: Setup Dependencies
run: script/ci_setup_dependencies.sh
- name: Build
run: script/ci_build.sh
build_clang:
runs-on: ubuntu-latest
strategy:
matrix:
build_config:
- { version: 18 }
- { version: 17 }
- { version: 16 }
- { version: 15 }
- { version: 14 }
- { version: 13 }
- { version: 12 }
- { version: 11 }
container:
image: teeks99/clang-ubuntu:${{ matrix.build_config.version }}
options: -v /usr/local:/host_usr_local
name: "clang-${{ matrix.build_config.version }}"
env:
CC: clang-${{ matrix.build_config.version }}${{ matrix.build_config.suffix }}
CXX: clang++-${{ matrix.build_config.version }}${{ matrix.build_config.suffix }}
steps:
- uses: actions/checkout@main
- name: Setup
run: |
echo "/host_usr_local/bin" >> $GITHUB_PATH
script/ci_setup_linux.sh
- name: Setup libc++
run: |
if [ "${{ matrix.build_config.version }}" -ge "12" ]; then
apt-get install -y --no-install-recommends libunwind-${{ matrix.build_config.version }}-dev;
fi
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
- name: Setup Dependencies
run: script/ci_setup_dependencies.sh
- name: Build
run: script/ci_build.sh
build_osx:
runs-on: macos-latest
name: "OS X"
env:
CC: clang
CXX: clang++
steps:
- uses: actions/checkout@main
- name: Setup
run: script/ci_setup_dependencies.sh
- name: Build
run: script/ci_build.sh
build_windows_msvc:
runs-on: windows-${{ matrix.msvc_version }}
strategy:
matrix:
msvc_version:
- 2019
- 2022
name: "Windows ${{ matrix.msvc_version }} MSVC"
steps:
- uses: actions/checkout@main
- uses: ilammy/msvc-dev-cmd@v1
- name: Setup
shell: bash
run: script/ci_setup_dependencies.sh
- name: Build
shell: bash
run: script/ci_build.sh
formatting-check:
name: "formatting"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: DoozyX/clang-format-lint-action@master
name: "Verify formatting"
with:
clangFormatVersion: 16