Skip to content

Commit 2deedde

Browse files
authored
ci: remove Clang-3.8 support (googleapis#7001)
1 parent 8db6bac commit 2deedde

23 files changed

Lines changed: 47 additions & 103 deletions

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ value for the additional complexity. If you prefer to build all the dependencies
7575
from source using CMake, we recommend you use a package manager, such as
7676
[vcpkg][vcpkg-github].
7777

78+
**We have dropped support for Clang < 6.0:** to support the latest Google Cloud
79+
services we need a version of Protobuf that can compile all the `.proto` files
80+
in https://github.com/googleapis/googleapis. At this time this requires
81+
Protobuf >= 3.15, and these versions of Protobuf do not support older versions
82+
of the Clang compiler.
83+
7884
[vcpkg-github]: https://github.com/microsoft/vcpkg
7985

8086
## v1.29.0 - 2021-07

CMakeLists.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ endif ()
4747

4848
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
4949

50-
# gcc-4.8 is the first release that claims C++11 support.
50+
# GCC >= 5.4 is required by Abseil, so we must require it too.
5151
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.4)
5252
message(
5353
FATAL_ERROR
@@ -57,11 +57,13 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
5757
endif ()
5858
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
5959

60-
# Before Clang-3.8 we ran into bugs with std::async() and exceptions.
61-
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.8)
60+
# Clang > 3.8 is required by the versions of protobuf that can compile
61+
# googleapis protos. We only test with >= 6.0 because that is easy to
62+
# install in our CI systems.
63+
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0)
6264
message(
6365
FATAL_ERROR
64-
"Clang version must be at least 3.8. Older versions"
66+
"Clang version must be at least 6.0. Older versions"
6567
" either lack C++11 support or have bugs that prevent us from"
6668
" using them.")
6769
endif ()

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@ int main(int argc, char* argv[]) {
156156
## Support
157157
158158
* This project supports Windows, macOS, Linux
159-
* This project supports C++11 (and higher) compilers (we test with GCC \>= 5.4, Clang >= 3.8, and MSVC \>= 2019)
159+
* This project supports C++11 (and higher) compilers (we test with GCC >= 5.4,
160+
Clang >= 6.0, and MSVC >= 2019)
160161
* This project supports Bazel and CMake builds. See the [Quickstart examples](https://github.com/googleapis/google-cloud-cpp#quickstart)
161162
* This project uses dependencies described in [doc/packaging.md](https://github.com/googleapis/google-cloud-cpp/blob/main/doc/packaging.md)
162163
* This project works with or without exceptions enabled

ci/cloudbuild/builds/clang-38.sh

Lines changed: 0 additions & 33 deletions
This file was deleted.

ci/cloudbuild/triggers/clang-38-ci.yaml

Lines changed: 0 additions & 13 deletions
This file was deleted.

ci/cloudbuild/triggers/clang-38-pr.yaml

Lines changed: 0 additions & 14 deletions
This file was deleted.

ci/generate-markdown/generate-bigtable-readme.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ Please note that the Google Cloud C++ client libraries do **not** follow
3838
## Supported Platforms
3939
4040
* Windows, macOS, Linux
41-
* C++11 (and higher) compilers (we test with GCC \>= 4.9, Clang >= 3.8, and MSVC \>= 2019)
41+
* C++11 (and higher) compilers (we test with GCC >= 5.4, Clang >= 6.0, and
42+
MSVC >= 2019)
4243
* Environments with or without exceptions
4344
* Bazel and CMake builds
4445

ci/generate-markdown/generate-iam-readme.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ Please note that the Google Cloud C++ client libraries do **not** follow
3636
## Supported Platforms
3737
3838
* Windows, macOS, Linux
39-
* C++11 (and higher) compilers (we test with GCC \>= 5.4, Clang >= 3.8, and MSVC \>= 2019)
39+
* C++11 (and higher) compilers (we test with GCC >= 5.4, Clang >= 6.0, and
40+
MSVC >= 2019)
4041
* Environments with or without exceptions
4142
* Bazel and CMake builds
4243

ci/generate-markdown/generate-pubsub-readme.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ Please note that the Google Cloud C++ client libraries do **not** follow
3838
## Supported Platforms
3939
4040
* Windows, macOS, Linux
41-
* C++11 (and higher) compilers (we test with GCC \>= 5.4, Clang >= 3.8, and MSVC \>= 2019)
41+
* C++11 (and higher) compilers (we test with GCC >= 5.4, Clang >= 6.0, and
42+
MSVC >= 2019)
4243
* Environments with or without exceptions
4344
* Bazel and CMake builds
4445

ci/generate-markdown/generate-readme.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ cat <<"EOF"
143143
## Support
144144
145145
* This project supports Windows, macOS, Linux
146-
* This project supports C++11 (and higher) compilers (we test with GCC \>= 5.4, Clang >= 3.8, and MSVC \>= 2019)
146+
* This project supports C++11 (and higher) compilers (we test with GCC >= 5.4,
147+
Clang >= 6.0, and MSVC >= 2019)
147148
* This project supports Bazel and CMake builds. See the [Quickstart examples](https://github.com/googleapis/google-cloud-cpp#quickstart)
148149
* This project uses dependencies described in [doc/packaging.md](https://github.com/googleapis/google-cloud-cpp/blob/main/doc/packaging.md)
149150
* This project works with or without exceptions enabled

0 commit comments

Comments
 (0)