diff --git a/.cloudbuild/jdbc_nightly.yaml b/.cloudbuild/jdbc_nightly.yaml index bd3dc2ce5..5c7acd472 100644 --- a/.cloudbuild/jdbc_nightly.yaml +++ b/.cloudbuild/jdbc_nightly.yaml @@ -35,6 +35,13 @@ steps: args: ['.kokoro/build.sh'] env: - 'JOB_TYPE=jdbc-nightly-integration' +- name: 'gcr.io/cloud-devrel-public-resources/java11' + id: "Nightly build" + timeout: 10000s + entrypoint: 'bash' + args: ['.kokoro/jdbc-release.sh'] + env: + - 'NIGHTLY_RELEASE_GCS_BUCKET=$_NIGHTLY_RELEASE_GCS_BUCKET' availableSecrets: secretManager: diff --git a/.kokoro/jdbc-release.sh b/.kokoro/jdbc-release.sh new file mode 100755 index 000000000..01cb7b47b --- /dev/null +++ b/.kokoro/jdbc-release.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Copyright 2026 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 +# +# http://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. + +set -euo pipefail + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +cd "${DIR}/../google-cloud-bigquery-jdbc" + +FOLDER="$(pwd)/release" +DATE=$(date '+%Y-%m-%d') +COMMIT=$(git rev-parse --short HEAD) +PACKAGE="google-cloud-bigquery-jdbc" +VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) +BUCKET=${NIGHTLY_RELEASE_GCS_BUCKET} +NIGHTLY_BUILD_DESTINATION="${BUCKET}/nightly/${VERSION}/${DATE}" + +# All dependencies release +mkdir -p "${FOLDER}" +make docker-package PACKAGE_DESTINATION="${FOLDER}" +NAME=${PACKAGE}-${VERSION}-${COMMIT} + +gsutil cp -r "${FOLDER}/${PACKAGE}-${VERSION}.zip" "${NIGHTLY_BUILD_DESTINATION}/${NAME}.zip" +gsutil cp -r "${FOLDER}/${PACKAGE}-${VERSION}-all.jar" "${NIGHTLY_BUILD_DESTINATION}/${NAME}-all.jar" + +rm -rf "${FOLDER}" + +# # Update latest version +gsutil cp "${NIGHTLY_BUILD_DESTINATION}/${NAME}.zip" "${BUCKET}/${PACKAGE}-latest.zip" +gsutil cp "${NIGHTLY_BUILD_DESTINATION}/${NAME}-all.jar" "${BUCKET}/${PACKAGE}-latest-all.jar" diff --git a/google-cloud-bigquery-jdbc/Makefile b/google-cloud-bigquery-jdbc/Makefile index f19659687..61521770c 100644 --- a/google-cloud-bigquery-jdbc/Makefile +++ b/google-cloud-bigquery-jdbc/Makefile @@ -59,18 +59,6 @@ package: -DincludeScope=runtime ${MAKE} generate-dependency-list -package-all-dependencies: - mvn package \ - -DincludeScope=runtime \ - -Dmaven.test.skip=true \ - -P=release-all-dependencies - -package-all-dependencies-shaded: - mvn package \ - -DincludeScope=runtime \ - -Dmaven.test.skip=true \ - -P=release-all-dependencies,release-all-dependencies-shaded - generate-dependency-list: mvn -B dependency:list \ -f pom.xml \ @@ -123,11 +111,13 @@ docker-package: docker-build sh -c "make package && \ mkdir -p /tmp/package && \ cp --no-preserve=ownership /mvn/test-target/google-cloud-bigquery-jdbc-*.jar /tmp/package && \ - rm -f /pkg/*tests.jar && \ + rm -f /tmp/package/google-cloud-bigquery-jdbc-*-all.jar && \ + rm -f /tmp/package/*tests.jar && \ cp --no-preserve=ownership dependencies.txt /tmp/package && \ rm dependencies.txt && \ cp --no-preserve=ownership /mvn/test-target/dependency/*.jar /tmp/package && \ - zip -j -r /pkg/google-cloud-bigquery-jdbc-$$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout).zip /tmp/package" + zip -j -r /pkg/google-cloud-bigquery-jdbc-$$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout).zip /tmp/package && \ + cp --no-preserve=ownership /mvn/test-target/google-cloud-bigquery-jdbc-*-all.jar /pkg " docker-unittest: | $(MAKE) .docker-run args="make unittest test=$(test)" diff --git a/google-cloud-bigquery-jdbc/pom.xml b/google-cloud-bigquery-jdbc/pom.xml index 74fc627e2..91b51a7d0 100644 --- a/google-cloud-bigquery-jdbc/pom.xml +++ b/google-cloud-bigquery-jdbc/pom.xml @@ -67,6 +67,74 @@ + + org.apache.maven.plugins + maven-shade-plugin + 3.5.2 + + + package + + shade + + + true + all + false + + + java.base/java.nio=ALL-UNNAMED + + + + + + + META-INF/io.netty.versions.properties + + + + + com + com.google.bqjdbc.shaded.com + + com.google.cloud.bigquery.* + com.google.cloud.bigquery.jdbc.* + + + + org + com.google.bqjdbc.shaded.org + + org.conscrypt.* + + + + io + com.google.bqjdbc.shaded.io + + + + + *:* + + META-INF/LICENSE* + META-INF/NOTICE* + META-INF/DEPENDENCIES + META-INF/proguard/*.pro + META-INF/maven/** + META-INF/*.MF + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + arrow-git.properties + + + + + + + @@ -236,99 +304,6 @@ - - - release-all-dependencies-shaded - - - - org.apache.maven.plugins - maven-shade-plugin - 3.5.2 - - - - - - com - shaded.bqjdbc.com - - com.google.cloud.bigquery.jdbc.* - - - - org - shaded.bqjdbc.org - - org.conscrypt.* - - - - io - shaded.bqjdbc.io - - - - - - - - - - - - release-all-dependencies - - - - org.apache.maven.plugins - maven-shade-plugin - 3.5.2 - - - package - - shade - - - false - - - java.base/java.nio=ALL-UNNAMED - - - - - - - META-INF/io.netty.versions.properties - - - - - *:* - - META-INF/LICENSE* - META-INF/NOTICE* - META-INF/DEPENDENCIES - META-INF/proguard/*.pro - META-INF/maven/** - META-INF/*.MF - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - arrow-git.properties - - - - - - - - - - - docker