Skip to content

Commit

Permalink
chore: Use Protobuf 4.28.2
Browse files Browse the repository at this point in the history
  • Loading branch information
lqiu96 committed Sep 19, 2024
1 parent 216e18e commit 3e6a6df
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 4 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ jobs:
distribution: temurin
- run: echo "JAVA11_HOME=${JAVA_HOME}" >> $GITHUB_ENV
shell: bash
- run: git config --system core.longpaths true
- run: java -version
- run: .kokoro/build.bat
env:
Expand Down
75 changes: 75 additions & 0 deletions .kokoro/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,81 @@ fi
mvn -version
echo ${JOB_TYPE}

# Store the current Java version since the version may change when installing sdk-platform-java
current_java_home=$JAVA_HOME

# Get the current proto runtime version used in this repo
CURRENT_PROTO_VERSION=$(mvn -ntp help:effective-pom |
sed -n "/<artifactId>protobuf-java<\/artifactId>/,/<\/dependency>/ {
/<version>/{
s/<version>\(.*\)<\/version>/\1/p
q
}
}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
echo "The current proto version is: ${CURRENT_PROTO_VERSION}"

# Find the latest proto runtime version available
LATEST_PROTO_VERSION="4.28.2"
echo "The latest proto version is: ${LATEST_PROTO_VERSION}"

# Only reinstall shared-deps again to test for a newer proto version
if [[ "${CURRENT_PROTO_VERSION}" != "${LATEST_PROTO_VERSION}" ]]; then
# testing-infra-docker has Java 11 installed in java8 docker container. Use this as sdk-platform-java
# needs Java 11+ to run with GraalVM. For GH actions, JAVA11_HOME does not exist and would skip this.
if [ ! -z "${JAVA11_HOME}" ]; then
export JAVA_HOME="${JAVA11_HOME}"
export PATH=${JAVA_HOME}/bin:$PATH
fi

pushd /tmp
git clone https://github.com/googleapis/sdk-platform-java.git
pushd sdk-platform-java
pushd gapic-generator-java-pom-parent
sed -i "/<protobuf.version>.*<\/protobuf.version>/s/\(.*<protobuf.version>\).*\(<\/protobuf.version>\)/\1${LATEST_PROTO_VERSION}\2/" pom.xml
# sdk-platform-java
popd

pushd sdk-platform-java-config
# Get current Shared-Deps version in sdk-platform-java
SHARED_DEPS_VERSION=$(mvn -ntp help:effective-pom |
sed -n "/<artifactId>sdk-platform-java-config<\/artifactId>/,/<\/dependency>/ {
/<version>/{
s/<version>\(.*\)<\/version>/\1/p
q
}
}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
echo "Shared-Deps Version: ${SHARED_DEPS_VERSION}"
# sdk-platform-java
popd

mvn clean install -q -ntp \
-DskipTests=true \
-Dclirr.skip=true \
-Denforcer.skip=true \
-T 1C
# /tmp
popd

# Back to the original directory of the repo
popd
# Find all the poms with a reference to shared-deps and update to the new local version
poms=($(find . -name pom.xml))
for pom in "${poms[@]}"; do
if grep -q "sdk-platform-java-config" "${pom}"; then
echo "Updating the pom: ${pom} to use shared-deps version: ${SHARED_DEPS_VERSION}"
sed -i "/<artifactId>sdk-platform-java-config<\/artifactId>/,/<\/parent>/ s/<version>.*<\/version>/<version>$SHARED_DEPS_VERSION<\/version>/" "${pom}"
# xmlstarlet ed --inplace -N x="http://maven.apache.org/POM/4.0.0" \
# -u "//x:project/x:parent[x:artifactId='sdk-platform-java-config']/x:version" \
# -v "${SHARED_DEPS_VERSION}" \
# "${pom}"
fi
done

# Reset back to the original Java version if changed
export JAVA_HOME="${current_java_home}"
export PATH=${JAVA_HOME}/bin:$PATH
fi

# attempt to install 3 times with exponential backoff (starting with 10 seconds)
retry_with_backoff 3 10 \
mvn install -B -V -ntp \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
<method>boolean has*(*)</method>
</difference>

<!-- The following 7006 exemptions are related to Protobuf 4.27.4+ runtime upgrade -->
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/admin/database/v1/**</className>
Expand All @@ -36,6 +35,12 @@
<method>* clear()</method>
<to>**</to>
</difference>
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/admin/database/v1/**</className>
<method>* clear()</method>
<to>**</to>
</difference>
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/admin/database/v1/**</className>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
<method>boolean has*(*)</method>
</difference>

<!-- The following 7006 exemptions are related to Protobuf 4.27.4+ runtime upgrade -->
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/admin/instance/v1/**</className>
Expand All @@ -36,6 +35,12 @@
<method>* clear()</method>
<to>**</to>
</difference>
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/admin/instance/v1/**</className>
<method>* clear()</method>
<to>**</to>
</difference>
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/admin/instance/v1/**</className>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
<className>com/google/spanner/executor/v1/SpannerExecutorProxyGrpc$SpannerExecutorProxyStub</className>
</difference>

<!-- The following 7006 exemptions are related to Protobuf 4.27.4+ runtime upgrade -->
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/executor/v1/**</className>
Expand All @@ -56,6 +55,12 @@
<method>* clear()</method>
<to>**</to>
</difference>
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/executor/v1/**</className>
<method>* clear()</method>
<to>**</to>
</difference>
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/executor/v1/**</className>
Expand Down
7 changes: 6 additions & 1 deletion proto-google-cloud-spanner-v1/clirr-ignored-differences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
<method>boolean has*(*)</method>
</difference>

<!-- The following 7006 exemptions are related to Protobuf 4.27.4+ runtime upgrade -->
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/v1/**</className>
Expand All @@ -36,6 +35,12 @@
<method>* clear()</method>
<to>**</to>
</difference>
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/v1/**</className>
<method>* clear()</method>
<to>**</to>
</difference>
<difference>
<differenceType>7006</differenceType>
<className>com/google/spanner/v1/**</className>
Expand Down

0 comments on commit 3e6a6df

Please sign in to comment.