Skip to content

Commit 767f85b

Browse files
authored
Merge branch 'userver-framework:develop' into fix/http-args-parse
2 parents 9110375 + 002d570 commit 767f85b

File tree

720 files changed

+20472
-3426
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

720 files changed

+20472
-3426
lines changed

.clang-tidy

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,12 @@ CheckOptions:
134134
value: CamelCase
135135
- key: readability-identifier-naming.PublicMethodIgnoredRegexp
136136
value: "(begin|end|empty|size|ysize|front|back|parse|format)"
137-
# - key: readability-identifier-naming.FunctionCase
138-
# value: CamelCase
139-
# - key: readability-identifier-naming.ParameterCase
140-
# value: lower_case
141-
# - key: readability-identifier-naming.ParameterPackCase
142-
# value: lower_case
137+
- key: readability-identifier-naming.FunctionCase
138+
value: CamelCase
139+
- key: readability-identifier-naming.ParameterCase
140+
value: lower_case
141+
- key: readability-identifier-naming.ParameterPackCase
142+
value: lower_case
143143
# - key: readability-identifier-naming.VariableCase
144144
# value: lower_case
145145
# - key: readability-identifier-naming.ConstexprVariableCase

.github/workflows/alpine.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
strategy:
2323
fail-fast: false
2424

25-
name: ubuntu-24.04 (build-only)
25+
name: alpine (build-only)
2626
runs-on: ubuntu-24.04
2727

2828
env:
@@ -46,7 +46,7 @@ jobs:
4646
-DUSERVER_FORCE_DOWNLOAD_GRPC=1
4747
4848
steps:
49-
- uses: actions/checkout@v4
49+
- uses: actions/checkout@v5
5050
with:
5151
fetch-depth: 0
5252

.github/workflows/archlinux.yml

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
name: Arch
2+
3+
'on':
4+
pull_request:
5+
push:
6+
branches:
7+
- master
8+
- develop
9+
- feature/**
10+
11+
env:
12+
UBSAN_OPTIONS: print_stacktrace=1
13+
ASAN_OPTIONS: detect_odr_violation=2
14+
CXX: clang++
15+
CC: clang
16+
CCACHE_DIR: /home/runner/.cache/ccache
17+
CCACHE_NOHASHDIR: true
18+
CPM_SOURCE_CACHE: /home/runner/.cache/CPM
19+
20+
jobs:
21+
archlinux:
22+
strategy:
23+
fail-fast: false
24+
25+
name: archlinux-latest
26+
runs-on: ubuntu-latest
27+
container:
28+
image: archlinux:latest
29+
30+
env:
31+
CMAKE_FLAGS: >-
32+
-DCMAKE_BUILD_TYPE=Debug
33+
-DCMAKE_CXX_STANDARD=17
34+
-DUSERVER_USE_LD=lld
35+
-DUSERVER_NO_WERROR=1
36+
-DUSERVER_BUILD_ALL_COMPONENTS=1
37+
-DUSERVER_BUILD_SAMPLES=1
38+
-DUSERVER_BUILD_TESTS=1
39+
-DUSERVER_FEATURE_GRPC=0
40+
-DUSERVER_FEATURE_GRPC_REFLECTION=0
41+
-DUSERVER_FEATURE_GRPC_PROTOVALIDATE=0
42+
-DUSERVER_FEATURE_MONGODB=0
43+
-DUSERVER_FEATURE_OTLP=0
44+
-DUSERVER_FEATURE_ROCKS=0
45+
-DUSERVER_USE_STATIC_LIBS=0
46+
-DUSERVER_FEATURE_PATCH_LIBPQ=0
47+
48+
steps:
49+
- uses: actions/checkout@v4
50+
with:
51+
fetch-depth: 0
52+
53+
- name: Restore cached directories
54+
id: restore-cache
55+
uses: actions/cache/restore@v4
56+
with:
57+
path: |
58+
${{env.CCACHE_DIR}}
59+
${{env.CPM_SOURCE_CACHE}}
60+
key: 'archlinux-cache-dir ${{github.ref}} run-${{github.run_number}}'
61+
restore-keys: |
62+
archlinux-cache-dir ${{github.ref}}
63+
archlinux-cache-dir
64+
65+
- name: Setup host cache dirs
66+
run: |
67+
mkdir -p ${{env.CCACHE_DIR}}
68+
mkdir -p ${{env.CPM_SOURCE_CACHE}}
69+
70+
- name: Update system and install base dependencies
71+
run: |
72+
pacman -Syu --noconfirm
73+
pacman -S --needed --noconfirm \
74+
base-devel \
75+
git \
76+
cmake \
77+
make \
78+
clang \
79+
lld \
80+
ccache \
81+
python \
82+
pkg-config
83+
84+
- name: Install development dependencies
85+
run: |
86+
useradd build
87+
88+
pacman -S --needed --noconfirm $(cat scripts/docs/en/deps/arch.md | grep -v -- 'makepkg|' )
89+
set -x ; \
90+
cat scripts/docs/en/deps/arch.md | grep -oP '^makepkg\|\K.*' | while read REPLY; \
91+
do \
92+
DIR=$(mktemp -d) ;\
93+
git clone --branch $REPLY --single-branch https://github.com/archlinux/aur.git $DIR ;\
94+
pushd $DIR ;\
95+
96+
chmod a+x .
97+
chmod a+rw -R .
98+
99+
yes | su -s /usr/bin/makepkg - build ;\
100+
pacman -U --noconfirm *.zst
101+
102+
popd ;\
103+
rm -rf $DIR ;\
104+
done
105+
106+
- name: Install test dependencies
107+
if: ${{ false }} # Not working yet
108+
run: |
109+
pacman -S --needed --noconfirm \
110+
postgresql \
111+
redis \
112+
clickhouse \
113+
rabbitmq \
114+
mongodb
115+
116+
- name: Setup caches
117+
run: |
118+
echo "Cached CPM packages:"
119+
du -h -d 1 ${{env.CPM_SOURCE_CACHE}} || true
120+
for f in $(find ${{env.CPM_SOURCE_CACHE}} -name "cmake.lock" 2>/dev/null || true);
121+
do
122+
repo=$(ls -d $(dirname $f)*/ 2>/dev/null || true);
123+
echo "Repository: $repo";
124+
git config --global --add safe.directory $repo 2>/dev/null || true;
125+
done
126+
127+
ccache -M 2.0GB
128+
ccache -s -v
129+
130+
- name: Run cmake
131+
run: |
132+
cmake -S . -B build_debug $CMAKE_FLAGS
133+
134+
- name: Compile
135+
run: |
136+
cmake --build build_debug -j$(nproc)
137+
138+
- name: Save cached directories
139+
uses: actions/cache/save@v4
140+
with:
141+
path: |
142+
${{env.CCACHE_DIR}}
143+
${{env.CPM_SOURCE_CACHE}}
144+
key: ${{ steps.restore-cache.outputs.cache-primary-key }}
145+
146+
- name: Show cache stats
147+
run: |
148+
du -h -d 1 ${{env.CCACHE_DIR}} || true
149+
du -h -d 1 ${{env.CPM_SOURCE_CACHE}} || true
150+
ccache -s -v
151+
152+
- name: Run tests
153+
if: ${{ false }} # Not working yet
154+
run: |
155+
cd build_debug
156+
ctest -V

.github/workflows/ci-conan.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
container: ubuntu:22.04
2828
conanflags: ''
2929
tests-env: 'JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64'
30-
- os: macos-latest
30+
- os: macos-14
3131
conanflags: '-o python_path=python3.11'
3232
tests-env: ''
3333

@@ -48,15 +48,15 @@ jobs:
4848
python3 python3-pip python3-venv
4949
5050
- name: Install MacOS packages
51-
if: matrix.os == 'macos-latest'
51+
if: matrix.os == 'macos-14'
5252
run: |
5353
brew update
5454
brew tap mongodb/brew
5555
brew install clang-format postgresql redis kafka rabbitmq mongodb-community
5656
brew install [email protected]
5757
5858
- name: Checkout
59-
uses: actions/checkout@v4
59+
uses: actions/checkout@v5
6060

6161
- name: Change permissions
6262
if: matrix.container == 'ubuntu:22.04'

.github/workflows/ci.yml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ jobs:
8282
tests-flags: ''
8383
tests-env: ''
8484
85-
# GCC-9 - testing minimal required compiler
85+
# GCC-10 - testing minimal required compiler
8686
- cmake-flags: >-
8787
-GNinja
88-
-DCMAKE_CXX_COMPILER=g++-9
89-
-DCMAKE_C_COMPILER=gcc-9
88+
-DCMAKE_CXX_COMPILER=g++-10
89+
-DCMAKE_C_COMPILER=gcc-10
9090
-DCMAKE_BUILD_TYPE=Release
9191
-DCMAKE_CXX_STANDARD=17
9292
-DUSERVER_USE_LD=gold
@@ -95,16 +95,16 @@ jobs:
9595
-DUSERVER_BUILD_TESTS=1
9696
-DUSERVER_NO_WERROR=1
9797
os: ubuntu-22.04
98-
info: g++-9 + release
99-
id: ubuntu22_gcc9_release
100-
tests-flags: ''
98+
info: g++-10 + release
99+
id: ubuntu22_gcc10_release
100+
tests-flags: '--gtest_filter=-StackUsageMonitorTest.BacktraceLogging'
101101
tests-env: ''
102102
103103
name: '${{matrix.os}}: ${{matrix.info}}'
104104
runs-on: ${{matrix.os}}
105105

106106
steps:
107-
- uses: actions/checkout@v4
107+
- uses: actions/checkout@v5
108108

109109
- name: Restore cached directories
110110
id: restore-cache
@@ -155,11 +155,11 @@ jobs:
155155
sudo apt update
156156
# Instructions from https://clickhouse.com/docs/en/getting-started/install/
157157
sudo apt install -y apt-transport-https ca-certificates dirmngr
158-
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
159-
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
158+
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
159+
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=amd64] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
160160
161161
# Adding mariadb repositories (from https://www.linuxcapable.com/how-to-install-mariadb-on-ubuntu-linux/ )
162-
curl -fsSL http://mirror.mariadb.org/PublicKey_v2 | sudo gpg --dearmor -o "/usr/share/keyrings/mariadb.gpg"
162+
curl -fsSL https://mariadb.org/mariadb_release_signing_key.pgp | sudo gpg --dearmor -o "/usr/share/keyrings/mariadb.gpg"
163163
sudo chmod a+r "/usr/share/keyrings/mariadb.gpg"
164164
# Restore the correct URL after https://jira.mariadb.org/browse/MDBF-651
165165
#echo "deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/mariadb.gpg] https://deb.mariadb.org/10.11/ubuntu $(lsb_release -cs) main" \
@@ -286,8 +286,6 @@ jobs:
286286
ctest -V
287287
288288
- name: Run tests (mongo)
289-
# libbson unnecessarily overaligns structures and GCC-9 does not support overaligned new
290-
if: matrix.info != 'g++-9 + release'
291289
run: |
292290
sudo apt install -y mongodb-mongosh
293291
cd build_debug

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525

2626
steps:
2727
- name: Checkout repository
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@v5
2929

3030
- name: Initialize CodeQL
3131
uses: github/codeql-action/init@v3

0 commit comments

Comments
 (0)