Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ci/cloudbuild/builds/cmake-oldest-deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,5 @@ io::log_h2 "Testing"
mapfile -t ctest_args < <(ctest::common_args)
env -C cmake-out/build ctest "${ctest_args[@]}" -LE "integration-test"

integration::ctest_with_emulators "cmake-out/build"
# TODO(#15947): Passing spanner here skips its test execution.
integration::ctest_with_emulators "cmake-out/build" "spanner"
10 changes: 7 additions & 3 deletions ci/cloudbuild/builds/lib/integration.sh
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,8 @@ function integration::ctest_with_emulators() {
fi

local cmake_out="$1"
local skip_args=("${@:2}")

mapfile -t ctest_args < <(ctest::common_args)
# Integration tests are inherently flaky. Make up to three attempts to get the
# test passing.
Expand All @@ -321,9 +323,11 @@ function integration::ctest_with_emulators() {
"${PROJECT_ROOT}/google/cloud/storage/ci/${EMULATOR_SCRIPT}" \
"${cmake_out}" "${ctest_args[@]}" -L integration-test-emulator

io::log_h2 "Running Spanner integration tests (with emulator)"
"${PROJECT_ROOT}/google/cloud/spanner/ci/${EMULATOR_SCRIPT}" \
"${cmake_out}" "${ctest_args[@]}" -L integration-test-emulator
if ! [[ "${skip_args[*]}" =~ "spanner" ]]; then
Comment thread
scotthart marked this conversation as resolved.
io::log_h2 "Running Spanner integration tests (with emulator)"
"${PROJECT_ROOT}/google/cloud/spanner/ci/${EMULATOR_SCRIPT}" \
"${cmake_out}" "${ctest_args[@]}" -L integration-test-emulator
fi

io::log_h2 "Running Bigtable integration tests (with emulator)"
"google/cloud/bigtable/ci/${EMULATOR_SCRIPT}" \
Expand Down
66 changes: 66 additions & 0 deletions ci/cloudbuild/dockerfiles/ubuntu-22.04.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get --no-install-recommends install -y \
automake \
build-essential \
clang \
cmake \
curl \
gawk \
git \
gcc \
g++ \
cmake \
Comment thread
scotthart marked this conversation as resolved.
Outdated
libcurl4-openssl-dev \
libssl-dev \
libtool \
lsb-release \
make \
ninja-build \
patch \
pkg-config \
python3 \
python3-dev \
python3-pip \
tar \
unzip \
zip \
wget \
zlib1g-dev \
apt-utils \
ca-certificates \
apt-transport-https

# Install Python packages used in the integration tests.
RUN update-alternatives --install /usr/bin/python python $(which python3) 10
RUN pip3 install setuptools wheel
# The Cloud Pub/Sub emulator needs Java :shrug:
RUN apt update && (apt install -y openjdk-11-jre || apt install -y openjdk-9-jre)
Comment thread
scotthart marked this conversation as resolved.

# Install the Cloud SDK and some of the emulators. We use the emulators to run
# integration tests for the client libraries.
COPY . /var/tmp/ci
WORKDIR /var/tmp/downloads
RUN /var/tmp/ci/install-cloud-sdk.sh
ENV CLOUD_SDK_LOCATION=/usr/local/google-cloud-sdk
ENV PATH=${CLOUD_SDK_LOCATION}/bin:${PATH}

RUN curl -o /usr/bin/bazelisk -sSL "https://github.com/bazelbuild/bazelisk/releases/download/v1.27.0/bazelisk-linux-${ARCH}" && \
chmod +x /usr/bin/bazelisk && \
ln -s /usr/bin/bazelisk /usr/bin/bazel
Comment thread
scotthart marked this conversation as resolved.
2 changes: 1 addition & 1 deletion ci/cloudbuild/triggers/cmake-oldest-deps-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ includeBuildLogs: INCLUDE_BUILD_LOGS_WITH_STATUS
name: prepare-for-v3-0-0-cmake-oldest-deps-ci
substitutions:
_BUILD_NAME: cmake-oldest-deps
_DISTRO: ubuntu-focal
_DISTRO: ubuntu-22.04
_TRIGGER_TYPE: ci
tags:
- ci
2 changes: 1 addition & 1 deletion ci/cloudbuild/triggers/cmake-oldest-deps-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ includeBuildLogs: INCLUDE_BUILD_LOGS_WITH_STATUS
name: prepare-for-v3-0-0-cmake-oldest-deps-pr
substitutions:
_BUILD_NAME: cmake-oldest-deps
_DISTRO: ubuntu-focal
_DISTRO: ubuntu-22.04
_TRIGGER_TYPE: pr
tags:
- pr
28 changes: 16 additions & 12 deletions ci/etc/oldest-deps/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "google-cloud-cpp",
"version": "2.17.0",
"version": "3.0.0",
"description": "C++ Client Libraries for Google Cloud Platform APIs.",
"homepage": "https://github.com/googleapis/google-cloud-cpp",
"license": "Apache-2.0",
Expand All @@ -9,7 +9,6 @@
"builtin-baseline": "6d9ed568117dd958c543b3ab8d3ed692965cac34",
"dependencies": [
{"name": "abseil", "version>=": "20250127.1"},
{"name": "crc32c", "version>=": "1.1.1"},
{
"name": "curl",
"features": [
Expand All @@ -18,28 +17,33 @@
},
{
"name": "grpc",
"version>=": "1.33.1",
"version>=": "1.71.0",
"host": true
},
{
"name": "protobuf",
"version>=": "3.15.8",
"version>=": "5.29.5",
"host": true
},
{"name": "grpc", "version>=": "1.33.1"},
{"name": "opentelemetry-cpp", "version>=": "1.20.0"},
{"name": "protobuf", "version>=": "3.15.8"},
{"name": "grpc", "version>=": "1.71.0"},
{"name": "opentelemetry-cpp", "version>=": "1.22.0"},
{"name": "protobuf", "version>=": "5.29.5"},
{"name": "nlohmann-json", "version>=": "3.9.1"},
"benchmark",
{"name": "gtest", "version>=": "1.11.0", "host": true}
{"name": "gtest", "version>=": "1.17.0", "host": true},
"utf8-range",
"re2"
],
"overrides": [
{ "name": "abseil", "version": "20250127.1"},
{ "name": "opentelemetry-cpp", "version": "1.20.0"},
{ "name": "protobuf", "version": "3.15.8" },
{ "name": "grpc", "version": "1.36.4" },
{ "name": "opentelemetry-cpp", "version": "1.22.0"},
{ "name": "protobuf", "version": "5.29.5" },
{ "name": "utf8-range", "version": "5.29.5" },
{ "name": "grpc", "version": "1.71.0" },
{ "name": "upb", "version": "2020-12-19" },
{ "name": "gtest", "version": "1.12.0" }
{ "name": "benchmark", "version": "1.9.4" },
{ "name": "re2", "version": "2025-08-12" },
{ "name": "gtest", "version": "1.17.0" }
],
"configuration": {
"overlay-ports" : [ "overlay-ports"]
Expand Down
Loading