ci: upgrade cmake to Fedora:40
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 93.79%. Comparing base (
bd6390c) to head (905d901). Report is 14 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #14195 +/- ##
==========================================
+ Coverage 93.24% 93.79% +0.55%
==========================================
Files 2206 2293 +87
Lines 192142 202912 +10770
==========================================
+ Hits 179156 190316 +11160
+ Misses 12986 12596 -390
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Still getting
Step #2: T+86.144s [1049/1185] Linking CXX executable generator/protoc-gen-cpp_codegen
Step #2: FAILED: generator/protoc-gen-cpp_codegen
Step #2: : && /usr/bin/clang++ generator/CMakeFiles/protoc-gen-cpp_codegen.dir/plugin_main.cc.o -o generator/protoc-gen-cpp_codegen -Wl,-rpath,/usr/local/lib64:/usr/local/lib generator/libgoogle_cloud_cpp_generator.a /usr/local/lib64/libprotoc.so.26.1.0 generator/libgoogle_cloud_cpp_generator_config.a google/cloud/libgoogle_cloud_cpp_rest_internal.a google/cloud/libgoogle_cloud_cpp_common.a /usr/lib64/libcurl.so external/googleapis/libgoogle_cloud_cpp_api_field_info_protos.a external/googleapis/libgoogle_cloud_cpp_api_routing_protos.a external/googleapis/libgoogle_cloud_cpp_cloud_extended_operations_protos.a external/googleapis/libgoogle_cloud_cpp_longrunning_operations_protos.a external/googleapis/libgoogle_cloud_cpp_api_client_protos.a external/googleapis/libgoogle_cloud_cpp_api_launch_stage_protos.a external/googleapis/libgoogle_cloud_cpp_api_annotations_protos.a external/googleapis/libgoogle_cloud_cpp_api_http_protos.a external/googleapis/libgoogle_cloud_cpp_rpc_status_protos.a external/googleapis/libgoogle_cloud_cpp_rpc_error_details_protos.a /usr/local/lib/libgrpc++.so.1.63.0 /usr/local/lib64/libprotobuf.so.26.1.0 /usr/local/lib64/libabsl_log_internal_check_op.so.2401.0.0 /usr/local/lib64/libabsl_leak_check.so.2401.0.0 /usr/local/lib64/libabsl_die_if_null.so.2401.0.0 /usr/local/lib64/libabsl_log_initialize.so.2401.0.0 /usr/local/lib/libgrpc.so.40.0.0 /usr/local/lib64/libabsl_statusor.so.2401.0.0 /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/local/lib/libupb_json_lib.so.40.0.0 /usr/local/lib/libupb_textformat_lib.so.40.0.0 /usr/local/lib/libutf8_range_lib.so.40.0.0 /usr/local/lib/libupb_message_lib.so.40.0.0 /usr/local/lib/libupb_base_lib.so.40.0.0 /usr/local/lib/libupb_mem_lib.so.40.0.0 /usr/lib64/libre2.so.9.0.0 /usr/lib64/libz.so /usr/lib64/libcares.so.2.13.1 /usr/local/lib/libgpr.so.40.0.0 /usr/local/lib64/libabsl_flags_internal.so.2401.0.0 /usr/local/lib64/libabsl_flags_reflection.so.2401.0.0 /usr/local/lib64/libabsl_raw_hash_set.so.2401.0.0 /usr/local/lib64/libabsl_hashtablez_sampler.so.2401.0.0 /usr/local/lib64/libabsl_flags_config.so.2401.0.0 /usr/local/lib64/libabsl_flags_program_name.so.2401.0.0 /usr/local/lib64/libabsl_flags_private_handle_accessor.so.2401.0.0 /usr/local/lib64/libabsl_flags_commandlineflag.so.2401.0.0 /usr/local/lib64/libabsl_flags_commandlineflag_internal.so.2401.0.0 /usr/local/lib64/libabsl_status.so.2401.0.0 /usr/local/lib64/libabsl_cord.so.2401.0.0 /usr/local/lib64/libabsl_cordz_info.so.2401.0.0 /usr/local/lib64/libabsl_cord_internal.so.2401.0.0 /usr/local/lib64/libabsl_cordz_functions.so.2401.0.0 /usr/local/lib64/libabsl_exponential_biased.so.2401.0.0 /usr/local/lib64/libabsl_cordz_handle.so.2401.0.0 /usr/local/lib64/libabsl_crc_cord_state.so.2401.0.0 /usr/local/lib64/libabsl_crc32c.so.2401.0.0 /usr/local/lib64/libabsl_crc_internal.so.2401.0.0 /usr/local/lib64/libabsl_crc_cpu_detect.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_conditions.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_message.so.2401.0.0 /usr/local/lib64/libabsl_strerror.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_nullguard.so.2401.0.0 /usr/local/lib64/libabsl_examine_stack.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_format.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_proto.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_log_sink_set.so.2401.0.0 /usr/local/lib64/libabsl_log_globals.so.2401.0.0 /usr/local/lib64/libabsl_hash.so.2401.0.0 /usr/local/lib64/libabsl_bad_variant_access.so.2401.0.0 /usr/local/lib64/libabsl_city.so.2401.0.0 /usr/local/lib64/libabsl_low_level_hash.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_globals.so.2401.0.0 /usr/local/lib64/libabsl_log_sink.so.2401.0.0 /usr/local/lib64/libabsl_log_entry.so.2401.0.0 /usr/local/lib64/libabsl_vlog_config_internal.so.2401.0.0 /usr/local/lib64/libabsl_synchronization.so.2401.0.0 /usr/local/lib64/libabsl_stacktrace.so.2401.0.0 /usr/local/lib64/libabsl_symbolize.so.2401.0.0 /usr/local/lib64/libabsl_debugging_internal.so.2401.0.0 /usr/local/lib64/libabsl_demangle_internal.so.2401.0.0 /usr/local/lib64/libabsl_graphcycles_internal.so.2401.0.0 /usr/local/lib64/libabsl_kernel_timeout_internal.so.2401.0.0 /usr/local/lib64/libabsl_time.so.2401.0.0 /usr/local/lib64/libabsl_civil_time.so.2401.0.0 /usr/local/lib64/libabsl_time_zone.so.2401.0.0 /usr/local/lib64/libabsl_malloc_internal.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_fnmatch.so.2401.0.0 /usr/local/lib64/libabsl_flags_marshalling.so.2401.0.0 /usr/local/lib64/libabsl_random_distributions.so.2401.0.0 /usr/local/lib64/libabsl_random_seed_sequences.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_pool_urbg.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_randen.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_randen_hwaes.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_randen_hwaes_impl.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_randen_slow.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_platform.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_seed_material.so.2401.0.0 /usr/local/lib64/libabsl_bad_optional_access.so.2401.0.0 /usr/local/lib64/libabsl_random_seed_gen_exception.so.2401.0.0 /usr/local/lib/libaddress_sorting.so.40.0.0 -ldl -lm -lrt /usr/local/lib64/libabsl_str_format_internal.so.2401.0.0 /usr/local/lib64/libabsl_strings.so.2401.0.0 /usr/local/lib64/libabsl_strings_internal.so.2401.0.0 /usr/local/lib64/libabsl_int128.so.2401.0.0 /usr/local/lib64/libabsl_string_view.so.2401.0.0 /usr/local/lib64/libabsl_base.so.2401.0.0 /usr/local/lib64/libabsl_spinlock_wait.so.2401.0.0 /usr/local/lib64/libabsl_throw_delegate.so.2401.0.0 /usr/local/lib64/libabsl_raw_logging_internal.so.2401.0.0 /usr/local/lib64/libabsl_log_severity.so.2401.0.0 /usr/lib64/libyaml-cpp.so.0.7.0 && :
Step #2: /usr/bin/ld: generator/libgoogle_cloud_cpp_generator_config.a(generator_config.pb.cc.o): in function `absl::log_internal::LogMessage::operator<<(unsigned long)':
Step #2: generator_config.pb.cc:(.text._ZN4absl12log_internal10LogMessagelsEm[_ZN4absl12log_internal10LogMessagelsEm]+0x19): undefined reference to `_ZN4absl12log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_'
Step #2: clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Step #2: T+87.972s [1050/1185] Linking CXX executable generator/google-cloud-cpp-codegen
on clang-tidy-tools
I think this uses clang-tidy.sh, so not sure why it is not linking
Still getting
Step #2: T+86.144s [1049/1185] Linking CXX executable generator/protoc-gen-cpp_codegen Step #2: FAILED: generator/protoc-gen-cpp_codegen Step #2: : && /usr/bin/clang++ generator/CMakeFiles/protoc-gen-cpp_codegen.dir/plugin_main.cc.o -o generator/protoc-gen-cpp_codegen -Wl,-rpath,/usr/local/lib64:/usr/local/lib generator/libgoogle_cloud_cpp_generator.a /usr/local/lib64/libprotoc.so.26.1.0 generator/libgoogle_cloud_cpp_generator_config.a google/cloud/libgoogle_cloud_cpp_rest_internal.a google/cloud/libgoogle_cloud_cpp_common.a /usr/lib64/libcurl.so external/googleapis/libgoogle_cloud_cpp_api_field_info_protos.a external/googleapis/libgoogle_cloud_cpp_api_routing_protos.a external/googleapis/libgoogle_cloud_cpp_cloud_extended_operations_protos.a external/googleapis/libgoogle_cloud_cpp_longrunning_operations_protos.a external/googleapis/libgoogle_cloud_cpp_api_client_protos.a external/googleapis/libgoogle_cloud_cpp_api_launch_stage_protos.a external/googleapis/libgoogle_cloud_cpp_api_annotations_protos.a external/googleapis/libgoogle_cloud_cpp_api_http_protos.a external/googleapis/libgoogle_cloud_cpp_rpc_status_protos.a external/googleapis/libgoogle_cloud_cpp_rpc_error_details_protos.a /usr/local/lib/libgrpc++.so.1.63.0 /usr/local/lib64/libprotobuf.so.26.1.0 /usr/local/lib64/libabsl_log_internal_check_op.so.2401.0.0 /usr/local/lib64/libabsl_leak_check.so.2401.0.0 /usr/local/lib64/libabsl_die_if_null.so.2401.0.0 /usr/local/lib64/libabsl_log_initialize.so.2401.0.0 /usr/local/lib/libgrpc.so.40.0.0 /usr/local/lib64/libabsl_statusor.so.2401.0.0 /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/local/lib/libupb_json_lib.so.40.0.0 /usr/local/lib/libupb_textformat_lib.so.40.0.0 /usr/local/lib/libutf8_range_lib.so.40.0.0 /usr/local/lib/libupb_message_lib.so.40.0.0 /usr/local/lib/libupb_base_lib.so.40.0.0 /usr/local/lib/libupb_mem_lib.so.40.0.0 /usr/lib64/libre2.so.9.0.0 /usr/lib64/libz.so /usr/lib64/libcares.so.2.13.1 /usr/local/lib/libgpr.so.40.0.0 /usr/local/lib64/libabsl_flags_internal.so.2401.0.0 /usr/local/lib64/libabsl_flags_reflection.so.2401.0.0 /usr/local/lib64/libabsl_raw_hash_set.so.2401.0.0 /usr/local/lib64/libabsl_hashtablez_sampler.so.2401.0.0 /usr/local/lib64/libabsl_flags_config.so.2401.0.0 /usr/local/lib64/libabsl_flags_program_name.so.2401.0.0 /usr/local/lib64/libabsl_flags_private_handle_accessor.so.2401.0.0 /usr/local/lib64/libabsl_flags_commandlineflag.so.2401.0.0 /usr/local/lib64/libabsl_flags_commandlineflag_internal.so.2401.0.0 /usr/local/lib64/libabsl_status.so.2401.0.0 /usr/local/lib64/libabsl_cord.so.2401.0.0 /usr/local/lib64/libabsl_cordz_info.so.2401.0.0 /usr/local/lib64/libabsl_cord_internal.so.2401.0.0 /usr/local/lib64/libabsl_cordz_functions.so.2401.0.0 /usr/local/lib64/libabsl_exponential_biased.so.2401.0.0 /usr/local/lib64/libabsl_cordz_handle.so.2401.0.0 /usr/local/lib64/libabsl_crc_cord_state.so.2401.0.0 /usr/local/lib64/libabsl_crc32c.so.2401.0.0 /usr/local/lib64/libabsl_crc_internal.so.2401.0.0 /usr/local/lib64/libabsl_crc_cpu_detect.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_conditions.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_message.so.2401.0.0 /usr/local/lib64/libabsl_strerror.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_nullguard.so.2401.0.0 /usr/local/lib64/libabsl_examine_stack.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_format.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_proto.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_log_sink_set.so.2401.0.0 /usr/local/lib64/libabsl_log_globals.so.2401.0.0 /usr/local/lib64/libabsl_hash.so.2401.0.0 /usr/local/lib64/libabsl_bad_variant_access.so.2401.0.0 /usr/local/lib64/libabsl_city.so.2401.0.0 /usr/local/lib64/libabsl_low_level_hash.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_globals.so.2401.0.0 /usr/local/lib64/libabsl_log_sink.so.2401.0.0 /usr/local/lib64/libabsl_log_entry.so.2401.0.0 /usr/local/lib64/libabsl_vlog_config_internal.so.2401.0.0 /usr/local/lib64/libabsl_synchronization.so.2401.0.0 /usr/local/lib64/libabsl_stacktrace.so.2401.0.0 /usr/local/lib64/libabsl_symbolize.so.2401.0.0 /usr/local/lib64/libabsl_debugging_internal.so.2401.0.0 /usr/local/lib64/libabsl_demangle_internal.so.2401.0.0 /usr/local/lib64/libabsl_graphcycles_internal.so.2401.0.0 /usr/local/lib64/libabsl_kernel_timeout_internal.so.2401.0.0 /usr/local/lib64/libabsl_time.so.2401.0.0 /usr/local/lib64/libabsl_civil_time.so.2401.0.0 /usr/local/lib64/libabsl_time_zone.so.2401.0.0 /usr/local/lib64/libabsl_malloc_internal.so.2401.0.0 /usr/local/lib64/libabsl_log_internal_fnmatch.so.2401.0.0 /usr/local/lib64/libabsl_flags_marshalling.so.2401.0.0 /usr/local/lib64/libabsl_random_distributions.so.2401.0.0 /usr/local/lib64/libabsl_random_seed_sequences.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_pool_urbg.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_randen.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_randen_hwaes.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_randen_hwaes_impl.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_randen_slow.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_platform.so.2401.0.0 /usr/local/lib64/libabsl_random_internal_seed_material.so.2401.0.0 /usr/local/lib64/libabsl_bad_optional_access.so.2401.0.0 /usr/local/lib64/libabsl_random_seed_gen_exception.so.2401.0.0 /usr/local/lib/libaddress_sorting.so.40.0.0 -ldl -lm -lrt /usr/local/lib64/libabsl_str_format_internal.so.2401.0.0 /usr/local/lib64/libabsl_strings.so.2401.0.0 /usr/local/lib64/libabsl_strings_internal.so.2401.0.0 /usr/local/lib64/libabsl_int128.so.2401.0.0 /usr/local/lib64/libabsl_string_view.so.2401.0.0 /usr/local/lib64/libabsl_base.so.2401.0.0 /usr/local/lib64/libabsl_spinlock_wait.so.2401.0.0 /usr/local/lib64/libabsl_throw_delegate.so.2401.0.0 /usr/local/lib64/libabsl_raw_logging_internal.so.2401.0.0 /usr/local/lib64/libabsl_log_severity.so.2401.0.0 /usr/lib64/libyaml-cpp.so.0.7.0 && : Step #2: /usr/bin/ld: generator/libgoogle_cloud_cpp_generator_config.a(generator_config.pb.cc.o): in function `absl::log_internal::LogMessage::operator<<(unsigned long)': Step #2: generator_config.pb.cc:(.text._ZN4absl12log_internal10LogMessagelsEm[_ZN4absl12log_internal10LogMessagelsEm]+0x19): undefined reference to `_ZN4absl12log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_' Step #2: clang++: error: linker command failed with exit code 1 (use -v to see invocation) Step #2: T+87.972s [1050/1185] Linking CXX executable generator/google-cloud-cpp-codegenon clang-tidy-tools
I think this uses clang-tidy.sh, so not sure why it is not linking
I think because some of the targets in generator/... are missing the call to google_cloud_cpp_add_common_options():
https://github.com/googleapis/google-cloud-cpp/blob/bd6390c490d161e09aba466b8c35eed645670cb1/generator/CMakeLists.txt#L172-L175
That is not the only one.
Locally
Adding
# Build protoc plugin executable
add_executable(protoc-gen-cpp_codegen plugin_main.cc)
target_link_libraries(
protoc-gen-cpp_codegen LINK_PUBLIC google_cloud_cpp_generator
protobuf::libprotoc ${Protobuf_LIBRARIES})
google_cloud_cpp_add_common_options(protoc-gen-cpp_codegen)
Still returns FAILED: generator/protoc-gen-cpp_codegen
Hmm... I was able to build locally with:
diff --git a/ci/cloudbuild/builds/clang-tidy.sh b/ci/cloudbuild/builds/clang-tidy.sh
index 98c3d3de5b..02c4893f6d 100755
--- a/ci/cloudbuild/builds/clang-tidy.sh
+++ b/ci/cloudbuild/builds/clang-tidy.sh
@@ -49,6 +49,7 @@ io::run cmake "${cmake_args[@]}" \
-DCMAKE_CXX_STANDARD=14 \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=ON \
-DGOOGLE_CLOUD_CPP_ENABLE="${ENABLED_FEATURES}" \
+ -DGOOGLE_CLOUD_CPP_ENABLE_CLANG_ABI_COMPAT_17=ON \
-DGOOGLE_CLOUD_CPP_INTERNAL_DOCFX="${enable_docfx}"
io::run cmake --build cmake-out
diff --git a/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile
index ec3bf88b8c..e56e7f2b10 100644
--- a/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile
+++ b/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM fedora:39
+FROM fedora:40
ARG NCPU=4
ARG ARCH=amd64
diff --git a/generator/CMakeLists.txt b/generator/CMakeLists.txt
index 505df31022..e4abeb7990 100644
--- a/generator/CMakeLists.txt
+++ b/generator/CMakeLists.txt
@@ -172,6 +172,7 @@ create_bazel_config(google_cloud_cpp_generator YEAR "2020")
# Build protoc plugin executable
add_executable(protoc-gen-cpp_codegen plugin_main.cc)
+google_cloud_cpp_add_common_options(protoc-gen-cpp_codegen)
target_link_libraries(
protoc-gen-cpp_codegen LINK_PUBLIC google_cloud_cpp_generator
protobuf::libprotoc ${Protobuf_LIBRARIES})
@@ -190,11 +191,14 @@ else ()
endif ()
target_link_libraries(google_cloud_cpp_generator_config
PUBLIC protobuf::libprotobuf)
+google_cloud_cpp_add_common_options(google_cloud_cpp_generator_config
+ NO_WARNINGS)
set_target_properties(google_cloud_cpp_generator_config
PROPERTIES CXX_CLANG_TIDY "")
# Build standalone executable
add_executable(google-cloud-cpp-codegen standalone_main.cc)
+google_cloud_cpp_add_common_options(google-cloud-cpp-codegen)
target_link_libraries(
google-cloud-cpp-codegen
PUBLIC google_cloud_cpp_generator_config google_cloud_cpp_generator```
+google_cloud_cpp_add_common_options(google-cloud-cpp-codegen)
Maybe my docker cache needed to be cleared. Trying the patch on the CI.