FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
client-sdk-cpp/.github/workflows/cpp-tools.yml at main · livekit/client-sdk-cpp · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
livekit
/
client-sdk-cpp
Public
Notifications
You must be signed in to change notification settings
Fork
38
Star
67
Code
Issues
2
Pull requests
5
Actions
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
client-sdk-cpp
/
.github
/
workflows
/
cpp-tools.yml
Copy path
View runs
More file actions
More file actions
Latest commit
History
History
History
122 lines (104 loc) · 4.65 KB
Breadcrumbs
client-sdk-cpp
/
.github
/
workflows
/
cpp-tools.yml
Copy path
File metadata and controls
122 lines (104 loc) · 4.65 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
name
:
C++ Tools
#
Called by top-level ci.yml
on
:
workflow_call
:
{}
workflow_dispatch
:
{}
permissions
:
contents
:
read
jobs
:
clang-format
:
name
:
clang-format
runs-on
:
ubuntu-latest
continue-on-error
:
false
timeout-minutes
:
15
steps
:
-
name
:
Checkout
uses
:
actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
#
v7.0.1
with
:
#
Initialize only cpp-tools below; formatting still scans project C++ paths.
fetch-depth
:
1
-
name
:
Initialize cpp-tools
run
:
git submodule update --init cpp-tools
-
name
:
Install shared clang-format configuration
run
:
./cpp-tools/install.sh clang-format --repo-root "$GITHUB_WORKSPACE"
-
name
:
Install clang-format 22
run
:
|
set -eux
# Pin clang-format 22 to match the current macOS Homebrew LLVM
# Ubuntu 24.04's default clang-format ships with LLVM 18
sudo install -m 0755 -d /etc/apt/keyrings
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key \
| sudo tee /etc/apt/keyrings/llvm.asc >/dev/null
sudo chmod a+r /etc/apt/keyrings/llvm.asc
codename=$(lsb_release -cs)
echo "deb [signed-by=/etc/apt/keyrings/llvm.asc] http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-22 main" \
| sudo tee /etc/apt/sources.list.d/llvm-22.list >/dev/null
sudo apt-get update
sudo apt-get install -y clang-format-22
sudo ln -sf /usr/bin/clang-format-22 /usr/local/bin/clang-format
clang-format --version
-
name
:
Run clang-format
env
:
FORMAT_BLOB_SHA
:
${{ github.event.pull_request.head.sha || github.sha }}
run
:
./scripts/clang-format.sh
clang-tidy
:
name
:
clang-tidy
runs-on
:
ubuntu-latest
continue-on-error
:
false
timeout-minutes
:
45
steps
:
-
name
:
Checkout (with submodules)
uses
:
actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
#
v7.0.1
with
:
submodules
:
recursive
fetch-depth
:
1
-
name
:
Install shared clang-tidy configuration
run
:
./cpp-tools/install.sh clang-tidy --repo-root "$GITHUB_WORKSPACE"
-
name
:
Install dependencies
run
:
|
set -eux
sudo apt-get update
sudo apt-get install -y \
build-essential cmake ninja-build pkg-config \
llvm-dev libclang-dev clang \
libssl-dev libcurl4-openssl-dev wget ca-certificates gnupg
-
name
:
Install clang-tidy 19 (for ExcludeHeaderFilterRegex support)
run
:
|
set -eux
# Ubuntu 24.04 apt ships clang-tidy 18, which doesn't understand
# ExcludeHeaderFilterRegex (added in 19). Pull clang-tidy 19 from
# the upstream LLVM apt repository and pin the unversioned names.
sudo install -m 0755 -d /etc/apt/keyrings
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key \
| sudo tee /etc/apt/keyrings/llvm.asc >/dev/null
sudo chmod a+r /etc/apt/keyrings/llvm.asc
codename=$(lsb_release -cs)
echo "deb [signed-by=/etc/apt/keyrings/llvm.asc] http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-19 main" \
| sudo tee /etc/apt/sources.list.d/llvm-19.list >/dev/null
sudo apt-get update
sudo apt-get install -y clang-tidy-19 clang-tools-19
sudo ln -sf /usr/bin/clang-tidy-19 /usr/local/bin/clang-tidy
sudo ln -sf /usr/bin/run-clang-tidy-19 /usr/local/bin/run-clang-tidy
clang-tidy --version
run-clang-tidy --help >/dev/null
-
name
:
Install Rust (stable)
uses
:
dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772
with
:
toolchain
:
stable
-
name
:
Set Linux build environment
run
:
|
echo "CXXFLAGS=-Wno-deprecated-declarations" >> "$GITHUB_ENV"
echo "CFLAGS=-Wno-deprecated-declarations" >> "$GITHUB_ENV"
LLVM_VERSION=$(llvm-config --version | cut -d. -f1)
echo "LIBCLANG_PATH=/usr/lib/llvm-${LLVM_VERSION}/lib" >> "$GITHUB_ENV"
-
name
:
Configure compilation database
run
:
cmake --preset linux-release
-
name
:
Generate protobuf headers
run
:
cmake --build build-release --target livekit_proto
-
name
:
Run clang-tidy
env
:
TIDY_BLOB_SHA
:
${{ github.event.pull_request.head.sha || github.sha }}
#
This script is intended to be run locally and in CI. It will auto-detect
#
the GHA environment and add PR annotations and a run summary.
#
As of writing all warnings are treateded as errors to avoid tech debt build up
run
:
./scripts/clang-tidy.sh --fail-on-warning
Back
|
FazBrowse Home
|
New Git URL