-
Notifications
You must be signed in to change notification settings - Fork 42
88 lines (77 loc) · 2.02 KB
/
c-cpp.yml
File metadata and controls
88 lines (77 loc) · 2.02 KB
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
name: C/C++ CI
on:
push:
branches: [ "master", "test" ]
pull_request:
branches: [ "master", "test" ]
jobs:
build:
strategy:
matrix:
config:
- {
os: ubuntu-24.04,
cc: "gcc-10",
cxx: "g++-10",
deps: "gcc-10 g++-10"
}
# - {
# os: ubuntu-24.04,
# cc: "gcc-11",
# cxx: "g++-11",
# deps: "gcc-11 g++-11"
# }
# - {
# os: ubuntu-24.04,
# cc: "gcc-12",
# cxx: "g++-12",
# deps: "gcc-12 g++-12"
# }
# - {
# os: ubuntu-24.04,
# cc: "gcc-13",
# cxx: "g++-13",
# deps: "gcc-13 g++-13"
# }
# - {
# os: ubuntu-24.04,
# cc: "clang-16",
# cxx: "clang++-16",
# deps: "clang-16"
# }
# - {
# os: ubuntu-24.04,
# cc: "clang-17",
# cxx: "clang++-17",
# deps: "clang-17"
# }
# - {
# os: ubuntu-24.04,
# cc: "clang-18",
# cxx: "clang++-18",
# deps: "clang-18"
# }
runs-on: ${{ matrix.config.os }}
steps:
- uses: actions/checkout@v3
- name: update apt
run: sudo apt update -y
- name: install compiler
run: sudo apt install -y ${{ matrix.config.deps }}
- name: install tools
run: sudo apt install -y meson ninja-build cppcheck clang-tools
- name: install deps
run: |
sudo apt install -y libdrm-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev \
libx11-xcb-dev libx11-dev libgbm-dev libevdev-dev libfmt-dev
- name: configure
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
run: meson setup -Dkmscube=true -Dpykms=enabled -Dwerror=true -Db_lto=true build
- name: build
run: ninja -v -C build
- name: Clang static analysis
run: ninja -C build scan-build
- name: cppcheck
run: cppcheck --enable=all --error-exitcode=1 kms++ kms++utils kmscube utils