diff --git a/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_Dataflow_V2_Streaming.json b/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_Dataflow_V2_Streaming.json index ca6b5440de4f..ce27991ba874 100644 --- a/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_Dataflow_V2_Streaming.json +++ b/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_Dataflow_V2_Streaming.json @@ -1,4 +1,4 @@ { "comment": "Modify this file in a trivial way to cause this test suite to run!", - "modification": 1, + "modification": 2, } diff --git a/runners/google-cloud-dataflow-java/build.gradle b/runners/google-cloud-dataflow-java/build.gradle index 93fe9cb227bb..f28d6b743297 100644 --- a/runners/google-cloud-dataflow-java/build.gradle +++ b/runners/google-cloud-dataflow-java/build.gradle @@ -303,11 +303,34 @@ def buildAndPushDockerJavaContainer = tasks.register("buildAndPushDockerJavaCont name: "${project.docker_image_default_repo_prefix}${javaVer}_sdk", root: "apache", tag: project.sdk_version) + doFirst { + def cloudsdkConfig = System.getenv("CLOUDSDK_CONFIG") + if (cloudsdkConfig == null || !new File(cloudsdkConfig).canWrite()) { + cloudsdkConfig = "/tmp/gcloud" + } + if (cloudsdkConfig == "/tmp/gcloud") { + def tmpGcloudDir = new File(cloudsdkConfig) + tmpGcloudDir.mkdirs() + System.setProperty("CLOUDSDK_CONFIG", cloudsdkConfig) + } + exec { + environment "CLOUDSDK_CONFIG", cloudsdkConfig + commandLine "gcloud", "--quiet", "auth", "configure-docker", "us.gcr.io" + ignoreExitValue = false + } + exec { + environment "CLOUDSDK_CONFIG", cloudsdkConfig + commandLine "gcloud", "--quiet", "auth", "configure-docker", "gcr.io" + ignoreExitValue = false + } + } doLast { exec { commandLine "docker", "tag", "${defaultDockerImageName}", "${dockerJavaImageName}" } + def cloudsdkConfig = System.getenv("CLOUDSDK_CONFIG") ?: System.getProperty("CLOUDSDK_CONFIG") ?: "/tmp/gcloud" exec { + environment "CLOUDSDK_CONFIG", cloudsdkConfig commandLine "gcloud", "docker", "--", "push", "${dockerJavaImageName}" } } @@ -321,11 +344,34 @@ def buildAndPushDistrolessDockerJavaContainer = tasks.register("buildAndPushDist name: "${project.docker_image_default_repo_prefix}${javaVer}_sdk_distroless", root: "apache", tag: project.sdk_version) + doFirst { + def cloudsdkConfig = System.getenv("CLOUDSDK_CONFIG") + if (cloudsdkConfig == null || !new File(cloudsdkConfig).canWrite()) { + cloudsdkConfig = "/tmp/gcloud" + } + if (cloudsdkConfig == "/tmp/gcloud") { + def tmpGcloudDir = new File(cloudsdkConfig) + tmpGcloudDir.mkdirs() + System.setProperty("CLOUDSDK_CONFIG", cloudsdkConfig) + } + exec { + environment "CLOUDSDK_CONFIG", cloudsdkConfig + commandLine "gcloud", "--quiet", "auth", "configure-docker", "us.gcr.io" + ignoreExitValue = false + } + exec { + environment "CLOUDSDK_CONFIG", cloudsdkConfig + commandLine "gcloud", "--quiet", "auth", "configure-docker", "gcr.io" + ignoreExitValue = false + } + } doLast { exec { commandLine "docker", "tag", "${defaultDockerImageName}", "${dockerJavaDistrolessImageName}" } + def cloudsdkConfig = System.getenv("CLOUDSDK_CONFIG") ?: System.getProperty("CLOUDSDK_CONFIG") ?: "/tmp/gcloud" exec { + environment "CLOUDSDK_CONFIG", cloudsdkConfig commandLine "gcloud", "docker", "--", "push", "${dockerJavaDistrolessImageName}" } } diff --git a/sdks/java/container/Dockerfile b/sdks/java/container/Dockerfile index 7a8c9e7e7d7e..8e1d22cd84ff 100644 --- a/sdks/java/container/Dockerfile +++ b/sdks/java/container/Dockerfile @@ -25,12 +25,12 @@ ARG TARGETARCH ARG pull_licenses # Dependency jars +# jamm.jar is required as a javaagent to get accurate object size measuring COPY target/slf4j-api.jar \ target/slf4j-jdk14.jar \ target/jcl-over-slf4j.jar \ target/log4j-over-slf4j.jar \ target/log4j-to-slf4j.jar \ - # Required to use jamm as a javaagent to get accurate object size measuring target/jamm.jar \ /opt/apache/beam/jars/