From 4e17fa21a5a4571cf25407e2423c8b59af615cca Mon Sep 17 00:00:00 2001 From: Benoit Moriceau Date: Fri, 5 Nov 2021 11:58:23 -0700 Subject: [PATCH] Bmoric/remove docker compose for build (#7500) This making the build using a gradle plugin instead of using docker-compose build. It aims to make the build to be more incremental as described in #7306 Building the docker image don't rely on docker-compose anymore. The docker build step is isolated into a dedicated folder (in order to make sure that gradle plugin don't recompute the build of the docker container) Gradle is responsible for copying the files that docker needs to build its image. That removes the need of having a dockerignore file. This might not be effective until #7539 is solved. --- .bumpversion.cfg | 2 + .github/workflows/gradle.yml | 4 +- airbyte-cli/build.gradle | 6 +- airbyte-config/init/.dockerignore | 3 - airbyte-config/init/Dockerfile | 2 +- airbyte-config/init/build.gradle | 11 +++ airbyte-db/lib/.dockerignore | 2 - airbyte-db/lib/Dockerfile | 2 +- airbyte-db/lib/build.gradle | 13 ++++ airbyte-migration/.dockerignore | 3 - airbyte-migration/Dockerfile | 2 +- airbyte-migration/build.gradle | 13 ++++ .../java/io/airbyte/oauth/BaseOAuthFlow.java | 1 - airbyte-scheduler/app/.dockerignore | 3 - airbyte-scheduler/app/Dockerfile | 2 +- airbyte-scheduler/app/build.gradle | 14 ++++ airbyte-server/.dockerignore | 3 - airbyte-server/Dockerfile | 2 +- airbyte-server/build.gradle | 14 ++++ airbyte-webapp/.dockerignore | 4 - airbyte-webapp/Dockerfile | 8 +- airbyte-webapp/build.gradle | 31 +++++++- airbyte-workers/Dockerfile | 2 +- airbyte-workers/build.gradle | 14 ++++ build.gradle | 75 ++++++++++--------- docs/SUMMARY.md | 1 + .../developing-on-docker.md | 43 +++++++++++ docs/project-overview/changelog/README.md | 3 +- .../acceptance_test_kube_gke.sh | 2 +- tools/bin/release_version.sh | 2 +- 30 files changed, 210 insertions(+), 77 deletions(-) delete mode 100644 airbyte-config/init/.dockerignore delete mode 100644 airbyte-db/lib/.dockerignore delete mode 100644 airbyte-migration/.dockerignore delete mode 100644 airbyte-scheduler/app/.dockerignore delete mode 100644 airbyte-server/.dockerignore delete mode 100644 airbyte-webapp/.dockerignore create mode 100644 docs/contributing-to-airbyte/developing-on-docker.md diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 5b463ca898be..e9bda52d54a9 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -10,6 +10,8 @@ serialize = [bumpversion:file:.env] +[bumpversion:file:airbyte-migration/Dockerfile] + [bumpversion:file:airbyte-server/Dockerfile] [bumpversion:file:airbyte-workers/Dockerfile] diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 87ff147195de..174a134cca29 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -339,7 +339,7 @@ jobs: EOF - name: Build Platform Docker Images - run: SUB_BUILD=PLATFORM ./gradlew --no-daemon composebuild --scan + run: SUB_BUILD=PLATFORM ./gradlew --no-daemon assemble --scan - name: Run End-to-End Frontend Tests run: ./tools/bin/e2e_test.sh @@ -457,7 +457,7 @@ jobs: HOME: /home/runner - name: Build Platform Docker Images - run: SUB_BUILD=PLATFORM ./gradlew composeBuild --scan + run: SUB_BUILD=PLATFORM ./gradlew assemble --scan - name: Run Kubernetes End-to-End Acceptance Tests env: diff --git a/airbyte-cli/build.gradle b/airbyte-cli/build.gradle index 3388338f60a7..4cccd9d4f401 100644 --- a/airbyte-cli/build.gradle +++ b/airbyte-cli/build.gradle @@ -1,3 +1,3 @@ -plugins { - id "airbyte-docker" -} +Task dockerBuildTask = getDockerBuildTask("cli", "$project.projectDir") +dockerBuildTask.dependsOn(copyDocker) +assemble.dependsOn(dockerBuildTask) diff --git a/airbyte-config/init/.dockerignore b/airbyte-config/init/.dockerignore deleted file mode 100644 index 5ad9d43099b6..000000000000 --- a/airbyte-config/init/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!src -!scripts diff --git a/airbyte-config/init/Dockerfile b/airbyte-config/init/Dockerfile index afba972dedf1..3144a772ef4e 100644 --- a/airbyte-config/init/Dockerfile +++ b/airbyte-config/init/Dockerfile @@ -4,4 +4,4 @@ WORKDIR /app # the sole purpose of this image is to seed the data volume with the default data # that the app should have when it is first installed. -COPY scripts scripts +COPY bin/scripts scripts diff --git a/airbyte-config/init/build.gradle b/airbyte-config/init/build.gradle index c7117fd16ea7..05bfa389043c 100644 --- a/airbyte-config/init/build.gradle +++ b/airbyte-config/init/build.gradle @@ -11,3 +11,14 @@ dependencies { implementation project(':airbyte-commons-docker') implementation project(':airbyte-json-validation') } + +task copyScripts(type: Copy) { + dependsOn copyDocker + + from('scripts') + into 'build/docker/bin/scripts' +} + +Task dockerBuildTask = getDockerBuildTask("init", "$project.projectDir") +dockerBuildTask.dependsOn(copyScripts) +assemble.dependsOn(dockerBuildTask) diff --git a/airbyte-db/lib/.dockerignore b/airbyte-db/lib/.dockerignore deleted file mode 100644 index 7a1eba35d5be..000000000000 --- a/airbyte-db/lib/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!src diff --git a/airbyte-db/lib/Dockerfile b/airbyte-db/lib/Dockerfile index a2feafc85de8..a9f42ce521ba 100644 --- a/airbyte-db/lib/Dockerfile +++ b/airbyte-db/lib/Dockerfile @@ -1,3 +1,3 @@ FROM postgres:13-alpine -COPY src/main/resources/init.sql /docker-entrypoint-initdb.d/000_init.sql +COPY bin/init.sql /docker-entrypoint-initdb.d/000_init.sql diff --git a/airbyte-db/lib/build.gradle b/airbyte-db/lib/build.gradle index 1d3d5dd2d331..5be6ca9a1e8e 100644 --- a/airbyte-db/lib/build.gradle +++ b/airbyte-db/lib/build.gradle @@ -69,3 +69,16 @@ task(dumpJobsSchema, dependsOn: 'classes', type: JavaExec) { classpath = sourceSets.main.runtimeClasspath args 'jobs', 'dump_schema' } + +task copyInitSql(type: Copy) { + dependsOn copyDocker + + from('src/main/resources') { + include 'init.sql' + } + into 'build/docker/bin' +} + +Task dockerBuildTask = getDockerBuildTask("db", "$project.projectDir") +dockerBuildTask.dependsOn(copyInitSql) +assemble.dependsOn(dockerBuildTask) diff --git a/airbyte-migration/.dockerignore b/airbyte-migration/.dockerignore deleted file mode 100644 index 65c7d0ad3e73..000000000000 --- a/airbyte-migration/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!Dockerfile -!build diff --git a/airbyte-migration/Dockerfile b/airbyte-migration/Dockerfile index 8a657e07ee5b..1fe50c4560c6 100644 --- a/airbyte-migration/Dockerfile +++ b/airbyte-migration/Dockerfile @@ -6,7 +6,7 @@ ENV APPLICATION airbyte-migration WORKDIR /app # Move and run scheduler -COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar +COPY bin/${APPLICATION}-0.30.31-alpha.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 diff --git a/airbyte-migration/build.gradle b/airbyte-migration/build.gradle index ac752cf739c7..1a9504dec522 100644 --- a/airbyte-migration/build.gradle +++ b/airbyte-migration/build.gradle @@ -15,3 +15,16 @@ application { mainClass = 'io.airbyte.migrate.MigrationRunner' } +task copyGeneratedTar(type: Copy) { + dependsOn distTar + dependsOn copyDocker + + from('build/distributions') { + include 'airbyte-migration-*.tar' + } + into 'build/docker/bin' +} + +Task dockerBuildTask = getDockerBuildTask("migration", "$project.projectDir") +dockerBuildTask.dependsOn(copyGeneratedTar) +assemble.dependsOn(dockerBuildTask) diff --git a/airbyte-oauth/src/main/java/io/airbyte/oauth/BaseOAuthFlow.java b/airbyte-oauth/src/main/java/io/airbyte/oauth/BaseOAuthFlow.java index ebf3346b2c0e..9fb0a22a7625 100644 --- a/airbyte-oauth/src/main/java/io/airbyte/oauth/BaseOAuthFlow.java +++ b/airbyte-oauth/src/main/java/io/airbyte/oauth/BaseOAuthFlow.java @@ -26,7 +26,6 @@ import java.util.function.Function; import java.util.function.Supplier; import org.apache.commons.lang3.RandomStringUtils; -import org.apache.http.client.utils.URIBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/airbyte-scheduler/app/.dockerignore b/airbyte-scheduler/app/.dockerignore deleted file mode 100644 index 65c7d0ad3e73..000000000000 --- a/airbyte-scheduler/app/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!Dockerfile -!build diff --git a/airbyte-scheduler/app/Dockerfile b/airbyte-scheduler/app/Dockerfile index f4cb9b7d537a..c603b3d9e803 100644 --- a/airbyte-scheduler/app/Dockerfile +++ b/airbyte-scheduler/app/Dockerfile @@ -5,7 +5,7 @@ ENV APPLICATION airbyte-scheduler WORKDIR /app -ADD build/distributions/${APPLICATION}-0.30.31-alpha.tar /app +ADD bin/${APPLICATION}-0.30.31-alpha.tar /app # wait for upstream dependencies to become available before starting server ENTRYPOINT ["/bin/bash", "-c", "${APPLICATION}-0.30.31-alpha/bin/${APPLICATION}"] diff --git a/airbyte-scheduler/app/build.gradle b/airbyte-scheduler/app/build.gradle index d40206efb3ae..371137316379 100644 --- a/airbyte-scheduler/app/build.gradle +++ b/airbyte-scheduler/app/build.gradle @@ -57,3 +57,17 @@ run { environment "TEMPORAL_HOST", "localhost:7233" } + +task copyGeneratedTar(type: Copy) { + dependsOn copyDocker + dependsOn distTar + + from('build/distributions') { + include 'airbyte-scheduler-*.tar' + } + into 'build/docker/bin' +} + +Task dockerBuildTask = getDockerBuildTask("scheduler", "$project.projectDir") +dockerBuildTask.dependsOn(copyGeneratedTar) +assemble.dependsOn(dockerBuildTask) diff --git a/airbyte-server/.dockerignore b/airbyte-server/.dockerignore deleted file mode 100644 index 65c7d0ad3e73..000000000000 --- a/airbyte-server/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!Dockerfile -!build diff --git a/airbyte-server/Dockerfile b/airbyte-server/Dockerfile index ec7aefe8c4c1..56ccd6192bcd 100644 --- a/airbyte-server/Dockerfile +++ b/airbyte-server/Dockerfile @@ -7,7 +7,7 @@ ENV APPLICATION airbyte-server WORKDIR /app -ADD build/distributions/${APPLICATION}-0.30.31-alpha.tar /app +ADD bin/${APPLICATION}-0.30.31-alpha.tar /app # wait for upstream dependencies to become available before starting server ENTRYPOINT ["/bin/bash", "-c", "${APPLICATION}-0.30.31-alpha/bin/${APPLICATION}"] diff --git a/airbyte-server/build.gradle b/airbyte-server/build.gradle index a38db0edc5db..a5ce58eb7946 100644 --- a/airbyte-server/build.gradle +++ b/airbyte-server/build.gradle @@ -127,3 +127,17 @@ run { environment "AIRBYTE_ROLE", System.getenv('AIRBYTE_ROLE') environment "TEMPORAL_HOST", "localhost:7233" } + +task copyGeneratedTar(type: Copy) { + dependsOn copyDocker + dependsOn distTar + + from('build/distributions') { + include 'airbyte-server-*.tar' + } + into 'build/docker/bin' +} + +Task dockerBuildTask = getDockerBuildTask("server", "$project.projectDir") +dockerBuildTask.dependsOn(copyGeneratedTar) +assemble.dependsOn(dockerBuildTask) diff --git a/airbyte-webapp/.dockerignore b/airbyte-webapp/.dockerignore deleted file mode 100644 index b284b9daeb6c..000000000000 --- a/airbyte-webapp/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -* -!Dockerfile -!build -!nginx diff --git a/airbyte-webapp/Dockerfile b/airbyte-webapp/Dockerfile index e1054ff5154f..1eead5631b6f 100644 --- a/airbyte-webapp/Dockerfile +++ b/airbyte-webapp/Dockerfile @@ -2,8 +2,6 @@ FROM nginx:1.19-alpine as webapp EXPOSE 80 -COPY build/docs docs/ -# docs get copied twice because npm gradle plugin ignores output dir. -COPY build /usr/share/nginx/html -RUN rm -rf /usr/share/nginx/html/docs -COPY nginx/default.conf.template /etc/nginx/templates/default.conf.template +COPY bin/docs docs/ +COPY bin/build /usr/share/nginx/html +COPY bin/nginx/default.conf.template /etc/nginx/templates/default.conf.template diff --git a/airbyte-webapp/build.gradle b/airbyte-webapp/build.gradle index 1ea5a0ed0dbc..886827b84494 100644 --- a/airbyte-webapp/build.gradle +++ b/airbyte-webapp/build.gradle @@ -32,11 +32,38 @@ task test(type: NpmTask) { assemble.dependsOn npm_run_build build.finalizedBy test +task copyBuild(type: Copy) { + dependsOn copyDocker + + from "${project.projectDir}/build" + into "build/docker/bin/build" + exclude ".docker" + exclude "docker" +} + task copyDocs(type: Copy) { - from "${System.getProperty("user.dir")}/docs/integrations" - into "${buildDir}/docs/integrations" + dependsOn copyDocker + + from "${project.rootProject.projectDir}/docs/integrations" + into "build/docker/bin/docs/integrations" duplicatesStrategy DuplicatesStrategy.INCLUDE } +task copyNginx(type: Copy) { + dependsOn copyDocker + + from "${project.projectDir}/nginx" + into "build/docker/bin/nginx" +} + +copyBuild.dependsOn npm_run_build +copyNginx.dependsOn npm_run_build copyDocs.dependsOn npm_run_build assemble.dependsOn copyDocs +copyDocker.dependsOn(npm_run_build) + +Task dockerBuildTask = getDockerBuildTask("webapp", "$project.projectDir") +dockerBuildTask.dependsOn(copyBuild) +dockerBuildTask.dependsOn(copyNginx) +dockerBuildTask.dependsOn(copyDocs) +assemble.dependsOn(dockerBuildTask) diff --git a/airbyte-workers/Dockerfile b/airbyte-workers/Dockerfile index 030bccd8f1f2..92301b881643 100644 --- a/airbyte-workers/Dockerfile +++ b/airbyte-workers/Dockerfile @@ -23,7 +23,7 @@ ENV APPLICATION airbyte-workers WORKDIR /app # Move worker app -ADD build/distributions/${APPLICATION}-0.30.31-alpha.tar /app +ADD bin/${APPLICATION}-0.30.31-alpha.tar /app # wait for upstream dependencies to become available before starting server ENTRYPOINT ["/bin/bash", "-c", "${APPLICATION}-0.30.31-alpha/bin/${APPLICATION}"] diff --git a/airbyte-workers/build.gradle b/airbyte-workers/build.gradle index b1a2f9a38afd..f461116ce2d7 100644 --- a/airbyte-workers/build.gradle +++ b/airbyte-workers/build.gradle @@ -62,3 +62,17 @@ application { mainClass = mainClassName applicationDefaultJvmArgs = ['-XX:MaxRAMPercentage=75.0'] } + +task copyGeneratedTar(type: Copy) { + dependsOn copyDocker + dependsOn distTar + + from('build/distributions') { + include 'airbyte-workers-*.tar' + } + into 'build/docker/bin' +} + +Task dockerBuildTask = getDockerBuildTask("worker", "$project.projectDir") +dockerBuildTask.dependsOn(copyGeneratedTar) +assemble.dependsOn(dockerBuildTask) diff --git a/build.gradle b/build.gradle index 39d9957cd26b..39b0b9e2f22d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,16 @@ +import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage + +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + } + dependencies { + classpath 'com.bmuschko:gradle-docker-plugin:7.1.0' + } +} + plugins { id 'base' id 'pmd' @@ -112,27 +125,36 @@ spotless { } check.dependsOn 'spotlessApply' +@SuppressWarnings('GroovyAssignabilityCheck') +def Task getDockerBuildTask(String artifactName, String projectDir) { + return task ("buildDockerImage-$artifactName" (type: DockerBuildImage) { + def buildTag = System.getenv('VERSION') ?: 'dev' + def buildPlatform = System.getenv('DOCKER_BUILD_PLATFORM') ?: 'linux/amd64' + def jdkVersion = System.getenv('JDK_VERSION') ?: '14.0.2' + def buildArch = System.getenv('DOCKER_BUILD_ARCH') ?: 'amd64' + + inputDir = file("$projectDir/build/docker") + platform = buildPlatform + images.add("airbyte/$artifactName:$buildTag") + buildArgs.put('JDK_VERSION', jdkVersion) + buildArgs.put('DOCKER_BUILD_ARCH', buildArch) + }) +} + allprojects { - apply plugin: 'base' + apply plugin: 'com.bmuschko.docker-remote-api' - afterEvaluate { project -> - def composeDeps = [ - ":airbyte-config:init", - ":airbyte-db:lib", - ":airbyte-migration", - ":airbyte-scheduler:app", - ":airbyte-workers", - ":airbyte-server", - ":airbyte-webapp", - ].toSet().asImmutable() - - if (project.getPath() in composeDeps) { - composeBuild.dependsOn(project.getPath() + ':assemble') - } + task copyDocker(type: Copy) { + delete "build/docker" + + from "${project.projectDir}/Dockerfile" + into "build/docker/" } } allprojects { + apply plugin: 'base' + // by default gradle uses directory as the project name. That works very well in a single project environment but // projects clobber each other in an environments with subprojects when projects are in directories named identically. def sub = rootDir.relativePath(projectDir.parentFile).replace('/', '.') @@ -234,6 +256,7 @@ subprojects { testImplementation 'org.junit.jupiter:junit-jupiter-params:5.7.2' testImplementation 'org.mockito:mockito-junit-jupiter:3.12.4' testImplementation 'org.assertj:assertj-core:3.21.0' + } tasks.withType(Tar) { @@ -245,28 +268,6 @@ subprojects { } } -task composeBuild { - def buildTag = System.getenv('VERSION') ?: 'dev' - def buildPlatform = System.getenv('DOCKER_BUILD_PLATFORM') ?: 'linux/amd64' - def buildArch = System.getenv('DOCKER_BUILD_ARCH') ?: 'amd64' - def jdkVersion = System.getenv('JDK_VERSION') ?: '14.0.2' - def dockerComposeFile = buildArch == 'arm64' ? 'docker-compose.build-m1.yaml' : 'docker-compose.build.yaml' - doFirst { - exec { - workingDir rootDir - commandLine 'docker-compose', '-f', dockerComposeFile, 'build', '--parallel', '--quiet' - environment 'VERSION', buildTag - environment 'DOCKER_BUILD_PLATFORM', buildPlatform - environment 'DOCKER_BUILD_ARCH', buildArch - environment 'JDK_VERSION', jdkVersion - } - } -} - -if (!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD") == "PLATFORM") { - build.dependsOn(composeBuild) -} - task('generate') { dependsOn subprojects.collect { it.getTasksByName('generateProtocolClassFiles', true) } dependsOn subprojects.collect { it.getTasksByName('generateJsonSchema2Pojo', true) } diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 44cfa4f835ba..b8040b000707 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -197,6 +197,7 @@ * [Contributing to Airbyte](contributing-to-airbyte/README.md) * [Code of Conduct](contributing-to-airbyte/code-of-conduct.md) * [Developing Locally](contributing-to-airbyte/developing-locally.md) + * [Developing on Docker](contributing-to-airbyte/developing-on-docker.md) * [Developing on Kubernetes](contributing-to-airbyte/developing-on-kubernetes.md) * [Monorepo Python Development](contributing-to-airbyte/monorepo-python-development.md) * [Code Style](contributing-to-airbyte/code-style.md) diff --git a/docs/contributing-to-airbyte/developing-on-docker.md b/docs/contributing-to-airbyte/developing-on-docker.md new file mode 100644 index 000000000000..34f225c8b017 --- /dev/null +++ b/docs/contributing-to-airbyte/developing-on-docker.md @@ -0,0 +1,43 @@ +# Developing on docker + +## Incrementality + +The docker build is fully incremental for the platform build, which means that it will only build an image if it is needed. We need to keep it that +way. +A task generator, `getDockerBuildTask`, is available for building a docker image for any given module. Behind the scene, it will generate a +task which will run the build of a docker image in a specific folder. The goal is to make sure that we have an isolated +context which helps with incrementality. All files that need to be present in the docker image will need to be copy into this folder. The generate +method takes 2 arguments: +- The image name, for example if `foo` is given as an image name, the image `airbyte/foo` will be created +- The project directory folder. It is needed because the `getDockerBuildTask` is declared in the rootProject + +## Adding a new docker build + +Once you have a `Dockerfile`, generating the docker image is done in the following way: +- specify the artifact name and the project directory, +- make sure that the Dockerfile is properly copied to the docker context dir before building the image +- make the build docker task to depend on the `assemble` task. + +For example: +```groovy +Task dockerBuildTask = getDockerBuildTask("cli", project.projectDir) +dockerBuildTask.dependsOn(copyDocker) +assemble.dependsOn(dockerBuildTask) +``` + +If you need to add files in your image you need to copy them in `build/docker/bin` first. The need to happen after the `copyDocker` task. +The `copyDocker` task clean up the `build/docker` folder as a first step. + +For example: +```groovy +task copyScripts(type: Copy) { + dependsOn copyDocker + + from('scripts') + into 'build/docker/bin/scripts' +} + +Task dockerBuildTask = getDockerBuildTask("init", project.projectDir) +dockerBuildTask.dependsOn(copyScripts) +assemble.dependsOn(dockerBuildTask) +``` diff --git a/docs/project-overview/changelog/README.md b/docs/project-overview/changelog/README.md index 86c8266c239b..6729332c0004 100644 --- a/docs/project-overview/changelog/README.md +++ b/docs/project-overview/changelog/README.md @@ -257,7 +257,8 @@ Airbyte is comprised of 2 parts: The "production" version of Airbyte is the version of the app specified in `.env`. With each production release, we update the version in the `.env` file. This version will always be available for download on DockerHub. It is the version of the app that runs when a user runs `docker-compose up`. -The "development" version of Airbyte is the head of master branch. It is the version of the app that runs when a user runs `./gradlew composeBuild && VERSION=dev docker compose up`. +The "development" version of Airbyte is the head of master branch. It is the version of the app that runs when a user runs `./gradlew build && +VERSION=dev docker compose up`. ### Production Release Schedule diff --git a/tools/bin/gke-kube-acceptance-test/acceptance_test_kube_gke.sh b/tools/bin/gke-kube-acceptance-test/acceptance_test_kube_gke.sh index f796e94bb5fa..85ee8e4c517b 100755 --- a/tools/bin/gke-kube-acceptance-test/acceptance_test_kube_gke.sh +++ b/tools/bin/gke-kube-acceptance-test/acceptance_test_kube_gke.sh @@ -14,7 +14,7 @@ TAG=$(openssl rand -hex 12) echo "Tag" $TAG docker login -u airbytebot -p $DOCKER_PASSWORD -VERSION=$TAG ./gradlew composeBuild +VERSION=$TAG ./gradlew build VERSION=$TAG docker-compose -f docker-compose.build.yaml push # For running on Mac diff --git a/tools/bin/release_version.sh b/tools/bin/release_version.sh index 5cc3d245fcd1..1ae49cddacc1 100755 --- a/tools/bin/release_version.sh +++ b/tools/bin/release_version.sh @@ -38,7 +38,7 @@ GIT_REVISION=$(git rev-parse HEAD) echo "Bumped version from ${PREV_VERSION} to ${NEW_VERSION}" echo "Building and publishing version $NEW_VERSION for git revision $GIT_REVISION..." -SUB_BUILD=PLATFORM ./gradlew clean composeBuild +SUB_BUILD=PLATFORM ./gradlew clean build SUB_BUILD=PLATFORM ./gradlew publish VERSION=$NEW_VERSION GIT_REVISION=$GIT_REVISION docker-compose -f docker-compose.build.yaml build VERSION=$NEW_VERSION GIT_REVISION=$GIT_REVISION docker-compose -f docker-compose.build.yaml push