Skip to content

Commit 96e4902

Browse files
marcalffcngzhnp
authored andcommitted
[DEPRECATION] Drop C++11 support (open-telemetry#2146)
1 parent 3707bc0 commit 96e4902

9 files changed

Lines changed: 66 additions & 33 deletions

File tree

.github/workflows/benchmark.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ jobs:
2424
path: /home/runner/.cache/bazel
2525
key: bazel_benchmark
2626
- name: setup
27+
env:
28+
GOOGLETEST_VERSION: 1.13.0
2729
run: |
28-
sudo ./ci/setup_cmake.sh
29-
sudo ./ci/setup_ci_environment.sh
30+
sudo -E ./ci/setup_cmake.sh
31+
sudo -E ./ci/setup_ci_environment.sh
3032
- name: Run benchmark
3133
id: run_benchmarks
3234
run: |

.github/workflows/ci.yml

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
env:
1919
CC: /usr/bin/gcc-10
2020
CXX: /usr/bin/g++-10
21+
GOOGLETEST_VERSION: 1.13.0
2122
run: |
2223
sudo -E ./ci/setup_cmake.sh
2324
sudo -E ./ci/setup_ci_environment.sh
@@ -40,7 +41,7 @@ jobs:
4041
env:
4142
CC: /usr/bin/gcc-12
4243
CXX: /usr/bin/g++-12
43-
GOOGLETEST_VERSION: 1.12.1
44+
GOOGLETEST_VERSION: 1.13.0
4445
PROTOBUF_VERSION: 21.12
4546
run: |
4647
sudo -E ./ci/setup_cmake.sh
@@ -74,7 +75,7 @@ jobs:
7475
env:
7576
CC: /usr/bin/gcc-12
7677
CXX: /usr/bin/g++-12
77-
GOOGLETEST_VERSION: 1.12.1
78+
GOOGLETEST_VERSION: 1.13.0
7879
PROTOBUF_VERSION: 21.12
7980
run: |
8081
sudo -E ./ci/setup_cmake.sh
@@ -108,7 +109,7 @@ jobs:
108109
env:
109110
CC: /usr/bin/clang-14
110111
CXX: /usr/bin/clang++-14
111-
GOOGLETEST_VERSION: 1.12.1
112+
GOOGLETEST_VERSION: 1.13.0
112113
PROTOBUF_VERSION: 21.12
113114
run: |
114115
sudo -E ./ci/setup_cmake.sh
@@ -142,7 +143,7 @@ jobs:
142143
env:
143144
CC: /usr/bin/clang-14
144145
CXX: /usr/bin/clang++-14
145-
GOOGLETEST_VERSION: 1.12.1
146+
GOOGLETEST_VERSION: 1.13.0
146147
PROTOBUF_VERSION: 21.12
147148
run: |
148149
sudo -E ./ci/setup_cmake.sh
@@ -190,6 +191,7 @@ jobs:
190191
env:
191192
CC: /usr/bin/gcc-10
192193
CXX: /usr/bin/g++-10
194+
GOOGLETEST_VERSION: 1.13.0
193195
run: |
194196
sudo -E ./ci/setup_cmake.sh
195197
sudo -E ./ci/setup_ci_environment.sh
@@ -209,9 +211,11 @@ jobs:
209211
with:
210212
submodules: 'recursive'
211213
- name: setup
214+
env:
215+
GOOGLETEST_VERSION: 1.13.0
212216
run: |
213-
sudo ./ci/setup_cmake.sh
214-
sudo ./ci/setup_ci_environment.sh
217+
sudo -E ./ci/setup_cmake.sh
218+
sudo -E ./ci/setup_ci_environment.sh
215219
- name: run cmake tests (enable abseil-cpp)
216220
run: |
217221
sudo ./ci/install_abseil.sh
@@ -225,9 +229,11 @@ jobs:
225229
with:
226230
submodules: 'recursive'
227231
- name: setup
232+
env:
233+
GOOGLETEST_VERSION: 1.13.0
228234
run: |
229-
sudo ./ci/setup_cmake.sh
230-
sudo ./ci/setup_ci_environment.sh
235+
sudo -E ./ci/setup_cmake.sh
236+
sudo -E ./ci/setup_ci_environment.sh
231237
- name: run cmake tests (enable opentracing-shim)
232238
run: ./ci/do_ci.sh cmake.opentracing_shim.test
233239

@@ -250,8 +256,8 @@ jobs:
250256
env:
251257
CC: /usr/bin/gcc-4.8
252258
CXX: /usr/bin/g++-4.8
253-
GOOGLETEST_VERSION: "1.10.0"
254-
run: sudo -E ./ci/setup_cmake.sh
259+
run: |
260+
sudo -E ./ci/setup_cmake.sh
255261
- name: run tests
256262
env:
257263
CC: /usr/bin/gcc-4.8
@@ -277,7 +283,6 @@ jobs:
277283
env:
278284
CC: /usr/bin/gcc-4.8
279285
CXX: /usr/bin/g++-4.8
280-
GOOGLETEST_VERSION: "1.10.0"
281286
run: |
282287
sudo -E ./ci/setup_cmake.sh
283288
sudo -E ./ci/setup_grpc.sh -v 4.8
@@ -296,7 +301,8 @@ jobs:
296301
submodules: 'recursive'
297302
- name: setup
298303
env:
299-
CMAKE_VERSION: "3.20.6"
304+
CMAKE_VERSION: 3.20.6
305+
GOOGLETEST_VERSION: 1.13.0
300306
run: |
301307
sudo -E ./ci/setup_ci_environment.sh
302308
sudo -E ./ci/setup_cmake.sh
@@ -317,7 +323,8 @@ jobs:
317323
CC: /usr/bin/clang
318324
CXX: /usr/bin/clang++
319325
CXXFLAGS: "-stdlib=libc++"
320-
CMAKE_VERSION: "3.20.6"
326+
CMAKE_VERSION: 3.20.6
327+
GOOGLETEST_VERSION: 1.13.0
321328
run: |
322329
sudo -E ./ci/setup_ci_environment.sh
323330
sudo -E ./ci/setup_cmake.sh
@@ -342,9 +349,11 @@ jobs:
342349
with:
343350
submodules: 'recursive'
344351
- name: setup
352+
env:
353+
GOOGLETEST_VERSION: 1.13.0
345354
run: |
346-
sudo ./ci/setup_cmake.sh
347-
sudo ./ci/setup_ci_environment.sh
355+
sudo -E ./ci/setup_cmake.sh
356+
sudo -E ./ci/setup_ci_environment.sh
348357
- name: run otlp exporter tests
349358
run: |
350359
sudo ./ci/setup_grpc.sh
@@ -358,9 +367,11 @@ jobs:
358367
with:
359368
submodules: 'recursive'
360369
- name: setup
370+
env:
371+
GOOGLETEST_VERSION: 1.13.0
361372
run: |
362-
sudo ./ci/setup_cmake.sh
363-
sudo ./ci/setup_ci_environment.sh
373+
sudo -E ./ci/setup_cmake.sh
374+
sudo -E ./ci/setup_ci_environment.sh
364375
- name: run otlp exporter tests
365376
run: |
366377
sudo ./ci/setup_grpc.sh
@@ -374,9 +385,11 @@ jobs:
374385
with:
375386
submodules: 'recursive'
376387
- name: setup
388+
env:
389+
GOOGLETEST_VERSION: 1.13.0
377390
run: |
378-
sudo ./ci/setup_cmake.sh
379-
sudo ./ci/setup_ci_environment.sh
391+
sudo -E ./ci/setup_cmake.sh
392+
sudo -E ./ci/setup_ci_environment.sh
380393
- name: run otlp exporter tests
381394
run: |
382395
sudo ./ci/setup_grpc.sh -T
@@ -393,6 +406,7 @@ jobs:
393406
env:
394407
CC: /usr/bin/gcc-10
395408
CXX: /usr/bin/g++-10
409+
GOOGLETEST_VERSION: 1.13.0
396410
run: |
397411
sudo -E ./ci/setup_cmake.sh
398412
sudo -E ./ci/setup_ci_environment.sh
@@ -731,6 +745,7 @@ jobs:
731745
env:
732746
CC: /usr/bin/gcc-10
733747
CXX: /usr/bin/g++-10
748+
GOOGLETEST_VERSION: 1.13.0
734749
run: |
735750
sudo -E ./ci/setup_cmake.sh
736751
sudo -E ./ci/setup_ci_environment.sh

.github/workflows/codeql-analysis.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,13 @@ jobs:
1919
run: |
2020
rm -rf third_party
2121
- name: Setup
22+
env:
23+
CC: /usr/bin/gcc-10
24+
CXX: /usr/bin/g++-10
25+
GOOGLETEST_VERSION: 1.13.0
2226
run: |
23-
sudo CC=/usr/bin/gcc-10 CXX=/usr/bin/g++-10 ./ci/setup_cmake.sh
24-
sudo CC=/usr/bin/gcc-10 CXX=/usr/bin/g++-10 ./ci/setup_ci_environment.sh
27+
sudo -E ./ci/setup_cmake.sh
28+
sudo -E ./ci/setup_ci_environment.sh
2529
- name: Initialize CodeQL
2630
uses: github/codeql-action/init@v2
2731
with:

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ Increment the:
5858
[#2124](https://github.com/open-telemetry/opentelemetry-cpp/pull/2124)
5959
* [API] Add user facing Logging API and Benchmarks
6060
[#2094](https://github.com/open-telemetry/opentelemetry-cpp/pull/2094)
61+
* [DEPRECATION] Drop C++11 support
62+
[#2146](https://github.com/open-telemetry/opentelemetry-cpp/pull/2146)
6163

6264
* [SDK] SDK support for the new OTel log
6365
[#2123](https://github.com/open-telemetry/opentelemetry-cpp/pull/2123)

CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,8 @@ set(OTELCPP_PROTO_PATH
209209
if(WIN32)
210210
if(BUILD_TESTING)
211211
if(MSVC)
212-
# GTest bug: https://github.com/google/googletest/issues/860
213-
add_compile_options(/wd4275)
212+
# Warning as error: warning STL4036: <ciso646> is removed in C++20
213+
add_compile_options(/wd4996)
214214
endif()
215215
endif()
216216
option(WITH_ETW "Whether to include the ETW Exporter in the SDK" ON)
@@ -540,6 +540,7 @@ list(APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR}")
540540

541541
include(CTest)
542542
if(BUILD_TESTING)
543+
set(CMAKE_CXX_STANDARD 20)
543544
add_definitions(-DENABLE_TEST)
544545
if(EXISTS ${CMAKE_BINARY_DIR}/lib/libgtest.a)
545546
# Prefer GTest from build tree. GTest is not always working with

bazel/repository.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ def opentelemetry_cpp_deps():
4646
maybe(
4747
http_archive,
4848
name = "com_google_googletest",
49-
sha256 = "81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2",
50-
strip_prefix = "googletest-release-1.12.1",
49+
sha256 = "ad7fdba11ea011c1d925b3289cf4af2c66a352e18d4c7264392fead75e919363",
50+
strip_prefix = "googletest-1.13.0",
5151
urls = [
52-
"https://github.com/google/googletest/archive/release-1.12.1.tar.gz",
52+
"https://github.com/google/googletest/archive/v1.13.0.tar.gz",
5353
],
5454
)
5555

ci/do_ci.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ elif [[ "$1" == "cmake.c++20.stl.test" ]]; then
196196
-DWITH_LOGS_PREVIEW=ON \
197197
-DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \
198198
-DWITH_ASYNC_EXPORT_PREVIEW=ON \
199+
-DCMAKE_CXX_STANDARD=20 \
199200
-DWITH_STL=ON \
200201
"${SRC_DIR}"
201202
make -j $(nproc)

ci/setup_cmake.sh

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,16 @@ if [ "x$CMAKE_VERSION" = "x" ]; then
1212
export CMAKE_VERSION=3.15.2
1313
fi
1414

15+
# This variable not set on CI pipeline for only legacy environment(GCC 4.8).
16+
# With 1.13.0 version, C++14 must be set which does not supported by legacy environment anymore.
17+
# Also with this version, release version path needs to be adapted.
1518
if [ "x$GOOGLETEST_VERSION" = "x" ]; then
16-
export GOOGLETEST_VERSION=1.12.1
19+
export GOOGLETEST_VERSION=1.10.0
20+
GOOGLETEST_VERSION_PATH="release-${GOOGLETEST_VERSION}"
21+
GOOGLETEST_FOLDER_PATH="googletest-release-${GOOGLETEST_VERSION}"
22+
else
23+
GOOGLETEST_VERSION_PATH="v${GOOGLETEST_VERSION}"
24+
GOOGLETEST_FOLDER_PATH="googletest-${GOOGLETEST_VERSION}"
1725
fi
1826

1927
cmake_install() {
@@ -31,9 +39,9 @@ googletest_install() {
3139
# https://gist.github.com/dlime/313f74fd23e4267c4a915086b84c7d3d
3240
tmp_dir=$(mktemp -d)
3341
pushd $tmp_dir
34-
wget https://github.com/google/googletest/archive/release-${GOOGLETEST_VERSION}.tar.gz
35-
tar -xf release-${GOOGLETEST_VERSION}.tar.gz
36-
cd googletest-release-${GOOGLETEST_VERSION}/
42+
wget https://github.com/google/googletest/archive/${GOOGLETEST_VERSION_PATH}.tar.gz
43+
tar -xf ${GOOGLETEST_VERSION_PATH}.tar.gz
44+
cd ${GOOGLETEST_FOLDER_PATH}/
3745
mkdir build && cd build
3846
cmake .. -DBUILD_SHARED_LIBS=ON -DINSTALL_GTEST=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr
3947
make -j $(nproc)

third_party_release

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ gRPC=v1.49.2
1717
thrift=0.14.1
1818
abseil=20220623.1
1919
benchmark=v1.7.1
20-
googletest=release-1.12.1
20+
googletest=release-1.13.0
2121
ms-gsl=v3.1.0-67-g6f45293
2222
nlohmann-json=v3.11.2
2323
opentelemetry-proto=v0.19.0

0 commit comments

Comments
 (0)