diff --git a/airbyte-config/persistence/build.gradle b/airbyte-config/persistence/build.gradle index 0bfb6f1eb9f94..834f38596c98d 100644 --- a/airbyte-config/persistence/build.gradle +++ b/airbyte-config/persistence/build.gradle @@ -14,6 +14,6 @@ dependencies { implementation project(':airbyte-config:init') implementation project(':airbyte-json-validation') implementation 'com.google.cloud:google-cloud-secretmanager:1.7.2' - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" integrationTestJavaImplementation project(':airbyte-config:persistence') } diff --git a/airbyte-db/jooq/build.gradle b/airbyte-db/jooq/build.gradle index 517b4b90f079c..0600634ec122b 100644 --- a/airbyte-db/jooq/build.gradle +++ b/airbyte-db/jooq/build.gradle @@ -13,7 +13,7 @@ dependencies { // jOOQ code generation implementation 'org.jooq:jooq-codegen:3.13.4' - implementation "org.testcontainers:postgresql:1.15.1" + implementation "org.testcontainers:postgresql:1.15.3" // The jOOQ code generator only has access to classes added to the jooqGenerator configuration jooqGenerator project(':airbyte-db:lib') } diff --git a/airbyte-db/lib/build.gradle b/airbyte-db/lib/build.gradle index 76853c0e1c568..fe8cd2c8c90ec 100644 --- a/airbyte-db/lib/build.gradle +++ b/airbyte-db/lib/build.gradle @@ -11,7 +11,7 @@ dependencies { implementation project(':airbyte-protocol:models') implementation project(':airbyte-json-validation') implementation "org.flywaydb:flyway-core:7.14.0" - implementation "org.testcontainers:postgresql:1.15.1" + implementation "org.testcontainers:postgresql:1.15.3" testImplementation project(':airbyte-test-utils') testImplementation 'org.apache.commons:commons-lang3:3.11' diff --git a/airbyte-e2e-testing/build.gradle b/airbyte-e2e-testing/build.gradle index cb1804caa12d7..d6a99070fcd45 100644 --- a/airbyte-e2e-testing/build.gradle +++ b/airbyte-e2e-testing/build.gradle @@ -3,9 +3,11 @@ plugins { id "com.github.node-gradle.node" version "2.2.4" } +def nodeVersion = System.getenv('NODE_VERSION') ?: '14.11.0' + node { download = true - version = "14.11.0" + version = nodeVersion } diff --git a/airbyte-integrations/bases/base-java/Dockerfile b/airbyte-integrations/bases/base-java/Dockerfile index dcfd8af8fc5f8..84741b499f9fd 100644 --- a/airbyte-integrations/bases/base-java/Dockerfile +++ b/airbyte-integrations/bases/base-java/Dockerfile @@ -1,4 +1,5 @@ -FROM openjdk:14.0.2-slim +ARG JDK_VERSION=14.0.2 +FROM openjdk:${JDK_VERSION}-slim COPY --from=airbyte/integration-base:dev /airbyte /airbyte WORKDIR /airbyte diff --git a/airbyte-integrations/bases/base-java/build.gradle b/airbyte-integrations/bases/base-java/build.gradle index 381357dcf2a53..ac80d3242e1cb 100644 --- a/airbyte-integrations/bases/base-java/build.gradle +++ b/airbyte-integrations/bases/base-java/build.gradle @@ -14,8 +14,8 @@ dependencies { implementation project(':airbyte-protocol:models') implementation project(":airbyte-json-validation") - implementation "org.testcontainers:testcontainers:1.15.1" - implementation "org.testcontainers:jdbc:1.15.1" + implementation "org.testcontainers:testcontainers:1.15.3" + implementation "org.testcontainers:jdbc:1.15.3" implementation files(project(':airbyte-integrations:bases:base').airbyteDocker.outputs) } diff --git a/airbyte-integrations/bases/base-standard-source-test-file/Dockerfile b/airbyte-integrations/bases/base-standard-source-test-file/Dockerfile index 56dc1029fa321..dd009c49fb254 100644 --- a/airbyte-integrations/bases/base-standard-source-test-file/Dockerfile +++ b/airbyte-integrations/bases/base-standard-source-test-file/Dockerfile @@ -1,4 +1,5 @@ -FROM openjdk:14.0.2-slim +ARG JDK_VERSION=14.0.2 +FROM openjdk:${JDK_VERSION}-slim # Install Docker to launch worker images. Eventually should be replaced with Docker-java. # See https://gitter.im/docker-java/docker-java?at=5f3eb87ba8c1780176603f4e for more information on why we are not currently using Docker-java diff --git a/airbyte-integrations/bases/standard-source-test/Dockerfile b/airbyte-integrations/bases/standard-source-test/Dockerfile index 82f3eadafa6dd..ce7318a83a1a1 100644 --- a/airbyte-integrations/bases/standard-source-test/Dockerfile +++ b/airbyte-integrations/bases/standard-source-test/Dockerfile @@ -1,4 +1,5 @@ -FROM openjdk:14.0.2-slim +ARG JDK_VERSION=14.0.2 +FROM openjdk:${JDK_VERSION}-slim # Install Docker to launch worker images. Eventually should be replaced with Docker-java. # See https://gitter.im/docker-java/docker-java?at=5f3eb87ba8c1780176603f4e for more information on why we are not currently using Docker-java diff --git a/airbyte-integrations/connector-templates/generator/build.gradle b/airbyte-integrations/connector-templates/generator/build.gradle index 72447eb88e88b..876b0d2f4f89b 100644 --- a/airbyte-integrations/connector-templates/generator/build.gradle +++ b/airbyte-integrations/connector-templates/generator/build.gradle @@ -3,9 +3,11 @@ plugins { id "com.github.node-gradle.node" version "2.2.4" } +def nodeVersion = System.getenv('NODE_VERSION') ?: '14.11.0' + node { download = true - version = "14.11.0" + version = nodeVersion } assemble.dependsOn(npmInstall) diff --git a/airbyte-integrations/connectors/destination-e2e-test/build.gradle b/airbyte-integrations/connectors/destination-e2e-test/build.gradle index 5c4371d74016f..fbebb2dec2651 100644 --- a/airbyte-integrations/connectors/destination-e2e-test/build.gradle +++ b/airbyte-integrations/connectors/destination-e2e-test/build.gradle @@ -16,11 +16,11 @@ dependencies { testImplementation project(':airbyte-test-utils') - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test') - integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.1" + integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.3" implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) integrationTestJavaImplementation files(project(':airbyte-integrations:bases:base-normalization').airbyteDocker.outputs) diff --git a/airbyte-integrations/connectors/destination-jdbc/build.gradle b/airbyte-integrations/connectors/destination-jdbc/build.gradle index 05c862f21323d..86be56686e97a 100644 --- a/airbyte-integrations/connectors/destination-jdbc/build.gradle +++ b/airbyte-integrations/connectors/destination-jdbc/build.gradle @@ -17,10 +17,10 @@ dependencies { implementation 'com.github.alexmojaki:s3-stream-upload:2.2.2' implementation 'com.fasterxml.jackson.core:jackson-databind' - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test') - integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.1" + integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.3" implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) integrationTestJavaImplementation files(project(':airbyte-integrations:bases:base-normalization').airbyteDocker.outputs) diff --git a/airbyte-integrations/connectors/destination-meilisearch/build.gradle b/airbyte-integrations/connectors/destination-meilisearch/build.gradle index 72bfb0da6a8c4..6da1d6745e723 100644 --- a/airbyte-integrations/connectors/destination-meilisearch/build.gradle +++ b/airbyte-integrations/connectors/destination-meilisearch/build.gradle @@ -19,7 +19,7 @@ dependencies { integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test') integrationTestJavaImplementation project(':airbyte-integrations:connectors:destination-meilisearch') - integrationTestJavaImplementation "org.testcontainers:testcontainers:1.15.1" + integrationTestJavaImplementation "org.testcontainers:testcontainers:1.15.3" implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) } diff --git a/airbyte-integrations/connectors/destination-mysql-strict-encrypt/build.gradle b/airbyte-integrations/connectors/destination-mysql-strict-encrypt/build.gradle index 9bfd623f549c4..9467d5fe69cad 100644 --- a/airbyte-integrations/connectors/destination-mysql-strict-encrypt/build.gradle +++ b/airbyte-integrations/connectors/destination-mysql-strict-encrypt/build.gradle @@ -20,7 +20,7 @@ dependencies { integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test') integrationTestJavaImplementation project(':airbyte-integrations:connectors:destination-mysql') - integrationTestJavaImplementation "org.testcontainers:mysql:1.15.1" + integrationTestJavaImplementation "org.testcontainers:mysql:1.15.3" implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) integrationTestJavaImplementation files(project(':airbyte-integrations:bases:base-normalization').airbyteDocker.outputs) diff --git a/airbyte-integrations/connectors/destination-mysql/build.gradle b/airbyte-integrations/connectors/destination-mysql/build.gradle index 111935e4eb9a6..2a4f1df73f9f6 100644 --- a/airbyte-integrations/connectors/destination-mysql/build.gradle +++ b/airbyte-integrations/connectors/destination-mysql/build.gradle @@ -19,7 +19,7 @@ dependencies { integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test') integrationTestJavaImplementation project(':airbyte-integrations:connectors:destination-mysql') - integrationTestJavaImplementation "org.testcontainers:mysql:1.15.1" + integrationTestJavaImplementation "org.testcontainers:mysql:1.15.3" implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) integrationTestJavaImplementation files(project(':airbyte-integrations:bases:base-normalization').airbyteDocker.outputs) diff --git a/airbyte-integrations/connectors/destination-postgres-strict-encrypt/build.gradle b/airbyte-integrations/connectors/destination-postgres-strict-encrypt/build.gradle index a2e3eb9e90929..1397f75780050 100644 --- a/airbyte-integrations/connectors/destination-postgres-strict-encrypt/build.gradle +++ b/airbyte-integrations/connectors/destination-postgres-strict-encrypt/build.gradle @@ -18,7 +18,7 @@ dependencies { integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test') - integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.1" + integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.3" implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) integrationTestJavaImplementation files(project(':airbyte-integrations:bases:base-normalization').airbyteDocker.outputs) diff --git a/airbyte-integrations/connectors/destination-postgres/build.gradle b/airbyte-integrations/connectors/destination-postgres/build.gradle index 93005ae96a842..6eaf59202d2c7 100644 --- a/airbyte-integrations/connectors/destination-postgres/build.gradle +++ b/airbyte-integrations/connectors/destination-postgres/build.gradle @@ -17,12 +17,12 @@ dependencies { testImplementation project(':airbyte-test-utils') - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test') integrationTestJavaImplementation project(':airbyte-integrations:connectors:destination-postgres') - integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.1" + integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.3" implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) integrationTestJavaImplementation files(project(':airbyte-integrations:bases:base-normalization').airbyteDocker.outputs) diff --git a/airbyte-integrations/connectors/source-e2e-test/build.gradle b/airbyte-integrations/connectors/source-e2e-test/build.gradle index 169cc2737ac9a..478ba8c8a47ad 100644 --- a/airbyte-integrations/connectors/source-e2e-test/build.gradle +++ b/airbyte-integrations/connectors/source-e2e-test/build.gradle @@ -24,7 +24,7 @@ dependencies { testImplementation project(":airbyte-json-validation") testImplementation project(':airbyte-test-utils') - testImplementation 'org.testcontainers:postgresql:1.15.1' + testImplementation 'org.testcontainers:postgresql:1.15.3' integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') diff --git a/airbyte-integrations/connectors/source-jdbc/build.gradle b/airbyte-integrations/connectors/source-jdbc/build.gradle index 708127ce958ae..b4fa1e33ca15b 100644 --- a/airbyte-integrations/connectors/source-jdbc/build.gradle +++ b/airbyte-integrations/connectors/source-jdbc/build.gradle @@ -28,10 +28,10 @@ dependencies { testImplementation project(':airbyte-test-utils') testImplementation "org.postgresql:postgresql:42.2.18" - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') - integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.1" + integrationTestJavaImplementation "org.testcontainers:postgresql:1.15.3" testFixturesImplementation "org.hamcrest:hamcrest-all:1.3" testFixturesImplementation project(':airbyte-protocol:models') diff --git a/airbyte-integrations/connectors/source-mssql-strict-encrypt/build.gradle b/airbyte-integrations/connectors/source-mssql-strict-encrypt/build.gradle index 66fb1bea70e50..2468e447b89e4 100644 --- a/airbyte-integrations/connectors/source-mssql-strict-encrypt/build.gradle +++ b/airbyte-integrations/connectors/source-mssql-strict-encrypt/build.gradle @@ -21,7 +21,7 @@ dependencies { testImplementation testFixtures(project(':airbyte-integrations:connectors:source-jdbc')) testImplementation 'org.apache.commons:commons-lang3:3.11' - testImplementation "org.testcontainers:mssqlserver:1.15.1" + testImplementation "org.testcontainers:mssqlserver:1.15.3" integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') integrationTestJavaImplementation project(':airbyte-integrations:connectors:source-mssql-strict-encrypt') diff --git a/airbyte-integrations/connectors/source-mssql/build.gradle b/airbyte-integrations/connectors/source-mssql/build.gradle index aa7dfb0068c10..cda9705365f89 100644 --- a/airbyte-integrations/connectors/source-mssql/build.gradle +++ b/airbyte-integrations/connectors/source-mssql/build.gradle @@ -26,7 +26,7 @@ dependencies { testImplementation testFixtures(project(':airbyte-integrations:connectors:source-jdbc')) testImplementation 'org.apache.commons:commons-lang3:3.11' - testImplementation "org.testcontainers:mssqlserver:1.15.1" + testImplementation "org.testcontainers:mssqlserver:1.15.3" integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') integrationTestJavaImplementation project(':airbyte-integrations:connectors:source-mssql') diff --git a/airbyte-integrations/connectors/source-mysql-strict-encrypt/build.gradle b/airbyte-integrations/connectors/source-mysql-strict-encrypt/build.gradle index 9852e3b03c0b5..ba7c633d68556 100644 --- a/airbyte-integrations/connectors/source-mysql-strict-encrypt/build.gradle +++ b/airbyte-integrations/connectors/source-mysql-strict-encrypt/build.gradle @@ -20,7 +20,7 @@ dependencies { testImplementation testFixtures(project(':airbyte-integrations:connectors:source-jdbc')) testImplementation project(':airbyte-test-utils') - testImplementation 'org.testcontainers:mysql:1.15.1' + testImplementation 'org.testcontainers:mysql:1.15.3' integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') diff --git a/airbyte-integrations/connectors/source-mysql/build.gradle b/airbyte-integrations/connectors/source-mysql/build.gradle index 507b996af9f21..12f0ed5450eb4 100644 --- a/airbyte-integrations/connectors/source-mysql/build.gradle +++ b/airbyte-integrations/connectors/source-mysql/build.gradle @@ -23,7 +23,7 @@ dependencies { testImplementation testFixtures(project(':airbyte-integrations:bases:debezium')) testImplementation testFixtures(project(':airbyte-integrations:connectors:source-jdbc')) testImplementation 'org.apache.commons:commons-lang3:3.11' - testImplementation 'org.testcontainers:mysql:1.15.1' + testImplementation 'org.testcontainers:mysql:1.15.3' integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') integrationTestJavaImplementation project(':airbyte-integrations:connectors:source-mysql') diff --git a/airbyte-integrations/connectors/source-oracle-strict-encrypt/build.gradle b/airbyte-integrations/connectors/source-oracle-strict-encrypt/build.gradle index 702cb83816a63..1f2ddd8292464 100644 --- a/airbyte-integrations/connectors/source-oracle-strict-encrypt/build.gradle +++ b/airbyte-integrations/connectors/source-oracle-strict-encrypt/build.gradle @@ -27,7 +27,7 @@ dependencies { testImplementation project(':airbyte-test-utils') testImplementation 'org.apache.commons:commons-lang3:3.11' - testImplementation 'org.testcontainers:oracle-xe:1.15.2' + testImplementation 'org.testcontainers:oracle-xe:1.15.3' integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') diff --git a/airbyte-integrations/connectors/source-oracle/build.gradle b/airbyte-integrations/connectors/source-oracle/build.gradle index 4c8f1a5969fa0..dd27610494d9e 100644 --- a/airbyte-integrations/connectors/source-oracle/build.gradle +++ b/airbyte-integrations/connectors/source-oracle/build.gradle @@ -26,7 +26,7 @@ dependencies { testImplementation project(':airbyte-test-utils') testImplementation 'org.apache.commons:commons-lang3:3.11' - testImplementation 'org.testcontainers:oracle-xe:1.15.2' + testImplementation 'org.testcontainers:oracle-xe:1.15.3' integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') diff --git a/airbyte-integrations/connectors/source-postgres-strict-encrypt/build.gradle b/airbyte-integrations/connectors/source-postgres-strict-encrypt/build.gradle index 3261abeac55d9..0996d87af58af 100644 --- a/airbyte-integrations/connectors/source-postgres-strict-encrypt/build.gradle +++ b/airbyte-integrations/connectors/source-postgres-strict-encrypt/build.gradle @@ -22,7 +22,7 @@ dependencies { testImplementation testFixtures(project(':airbyte-integrations:connectors:source-jdbc')) testImplementation project(':airbyte-test-utils') - testImplementation 'org.testcontainers:postgresql:1.15.1' + testImplementation 'org.testcontainers:postgresql:1.15.3' integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') diff --git a/airbyte-integrations/connectors/source-postgres/build.gradle b/airbyte-integrations/connectors/source-postgres/build.gradle index 28b4ee4ff0648..1918efd8d4e2b 100644 --- a/airbyte-integrations/connectors/source-postgres/build.gradle +++ b/airbyte-integrations/connectors/source-postgres/build.gradle @@ -25,7 +25,7 @@ dependencies { testImplementation project(":airbyte-json-validation") testImplementation project(':airbyte-test-utils') - testImplementation 'org.testcontainers:postgresql:1.15.1' + testImplementation 'org.testcontainers:postgresql:1.15.3' integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test') diff --git a/airbyte-integrations/connectors/source-relational-db/build.gradle b/airbyte-integrations/connectors/source-relational-db/build.gradle index f77a2a5602023..0b6abe6b8d662 100644 --- a/airbyte-integrations/connectors/source-relational-db/build.gradle +++ b/airbyte-integrations/connectors/source-relational-db/build.gradle @@ -19,7 +19,7 @@ dependencies { testImplementation project(':airbyte-test-utils') testImplementation "org.postgresql:postgresql:42.2.18" - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) } diff --git a/airbyte-migration/Dockerfile b/airbyte-migration/Dockerfile index 9c3415c122db8..8a657e07ee5bb 100644 --- a/airbyte-migration/Dockerfile +++ b/airbyte-migration/Dockerfile @@ -1,4 +1,5 @@ -FROM openjdk:14.0.2-slim AS migrate +ARG JDK_VERSION=14.0.2 +FROM openjdk:${JDK_VERSION}-slim AS migrate ENV APPLICATION airbyte-migration diff --git a/airbyte-scheduler/app/Dockerfile b/airbyte-scheduler/app/Dockerfile index 011d4c51e8164..8984019c79a17 100644 --- a/airbyte-scheduler/app/Dockerfile +++ b/airbyte-scheduler/app/Dockerfile @@ -1,4 +1,5 @@ -FROM openjdk:14.0.2-slim AS scheduler +ARG JDK_VERSION=14.0.2 +FROM openjdk:${JDK_VERSION}-slim AS scheduler ENV APPLICATION airbyte-scheduler diff --git a/airbyte-scheduler/app/build.gradle b/airbyte-scheduler/app/build.gradle index d966b62457813..ddd6a0cd06996 100644 --- a/airbyte-scheduler/app/build.gradle +++ b/airbyte-scheduler/app/build.gradle @@ -21,7 +21,7 @@ dependencies { implementation project(':airbyte-scheduler:persistence') implementation project(':airbyte-workers') - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" } application { diff --git a/airbyte-scheduler/persistence/build.gradle b/airbyte-scheduler/persistence/build.gradle index 6aef6f9ba65a7..fa9abd9512a31 100644 --- a/airbyte-scheduler/persistence/build.gradle +++ b/airbyte-scheduler/persistence/build.gradle @@ -15,5 +15,5 @@ dependencies { implementation project(':airbyte-scheduler:models') testImplementation "org.flywaydb:flyway-core:7.14.0" - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" } diff --git a/airbyte-secrets-migration/Dockerfile b/airbyte-secrets-migration/Dockerfile index 7bfaafee72a20..84e6f6ad17e2e 100644 --- a/airbyte-secrets-migration/Dockerfile +++ b/airbyte-secrets-migration/Dockerfile @@ -1,4 +1,5 @@ -FROM openjdk:14.0.2-slim +ARG JDK_VERSION=14.0.2 +FROM openjdk:${JDK_VERSION}-slim ENV APPLICATION airbyte-secrets-migration WORKDIR /airbyte diff --git a/airbyte-secrets-migration/build.gradle b/airbyte-secrets-migration/build.gradle index 7809b79876f35..615839ba480f9 100644 --- a/airbyte-secrets-migration/build.gradle +++ b/airbyte-secrets-migration/build.gradle @@ -16,7 +16,7 @@ dependencies { implementation project(':airbyte-config:persistence') testImplementation project(':airbyte-json-validation') testImplementation 'org.apache.commons:commons-lang3:3.11' - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" integrationTestJavaImplementation project(':airbyte-secrets-migration') } diff --git a/airbyte-server/Dockerfile b/airbyte-server/Dockerfile index c4ebc3396590e..57d0dbd262cbc 100644 --- a/airbyte-server/Dockerfile +++ b/airbyte-server/Dockerfile @@ -1,4 +1,5 @@ -FROM openjdk:14.0.2-slim AS server +ARG JDK_VERSION=14.0.2 +FROM openjdk:${JDK_VERSION}-slim AS server EXPOSE 8000 diff --git a/airbyte-server/build.gradle b/airbyte-server/build.gradle index 3aea75c338585..edc7c55fb2506 100644 --- a/airbyte-server/build.gradle +++ b/airbyte-server/build.gradle @@ -1,7 +1,7 @@ plugins { id 'application' id 'maven-publish' - id 'com.github.johnrengelman.shadow' version '6.1.0' + id 'com.github.johnrengelman.shadow' version '7.1.0' } shadowJar { @@ -81,7 +81,7 @@ dependencies { testImplementation 'com.squareup.okhttp3:mockwebserver:4.9.1' - testImplementation "org.testcontainers:postgresql:1.15.1" + testImplementation "org.testcontainers:postgresql:1.15.3" } // we want to be able to access the generated db files from config/init when we build the server docker image. diff --git a/airbyte-test-utils/build.gradle b/airbyte-test-utils/build.gradle index d8c7db9cda3e7..008f15aba9ba4 100644 --- a/airbyte-test-utils/build.gradle +++ b/airbyte-test-utils/build.gradle @@ -5,6 +5,6 @@ plugins { dependencies { implementation project(':airbyte-db:lib') - implementation 'org.testcontainers:postgresql:1.15.1' + implementation 'org.testcontainers:postgresql:1.15.3' implementation "org.testcontainers:cockroachdb:1.15.3" } diff --git a/airbyte-tests/build.gradle b/airbyte-tests/build.gradle index 53645e2adc9c9..5312be73c4058 100644 --- a/airbyte-tests/build.gradle +++ b/airbyte-tests/build.gradle @@ -49,7 +49,7 @@ dependencies { acceptanceTestsImplementation 'com.fasterxml.jackson.core:jackson-databind' acceptanceTestsImplementation 'io.github.cdimascio:java-dotenv:3.0.0' acceptanceTestsImplementation 'org.apache.commons:commons-csv:1.4' - acceptanceTestsImplementation 'org.testcontainers:postgresql:1.15.1' + acceptanceTestsImplementation 'org.testcontainers:postgresql:1.15.3' acceptanceTestsImplementation 'org.postgresql:postgresql:42.2.18' automaticMigrationAcceptanceTestImplementation project(':airbyte-api') diff --git a/airbyte-webapp/build.gradle b/airbyte-webapp/build.gradle index 626eb6aaa4320..1ea5a0ed0dbc8 100644 --- a/airbyte-webapp/build.gradle +++ b/airbyte-webapp/build.gradle @@ -3,9 +3,11 @@ plugins { id "com.github.node-gradle.node" version "3.1.1" } +def nodeVersion = System.getenv('NODE_VERSION') ?: '14.11.0' + node { download = true - version = "14.11.0" + version = nodeVersion } npm_run_build { diff --git a/airbyte-workers/Dockerfile b/airbyte-workers/Dockerfile index 86fc3f1ecec89..513bfc194030d 100644 --- a/airbyte-workers/Dockerfile +++ b/airbyte-workers/Dockerfile @@ -1,4 +1,7 @@ -FROM openjdk:14.0.2-slim AS worker +ARG JDK_VERSION=14.0.2 +FROM openjdk:${JDK_VERSION}-slim AS worker + +ARG ARCH=amd64 # Install Docker to launch worker images. Eventually should be replaced with Docker-java. # See https://gitter.im/docker-java/docker-java?at=5f3eb87ba8c1780176603f4e for more information on why we are not currently using Docker-java @@ -10,7 +13,7 @@ RUN apt-get update && apt-get install -y \ software-properties-common RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - RUN add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/debian \ + "deb [arch=${ARCH}] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable" RUN apt-get update && apt-get install -y docker-ce-cli jq @@ -20,7 +23,7 @@ ENV APPLICATION airbyte-workers WORKDIR /app # Install kubectl -RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.14/bin/linux/amd64/kubectl +RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.14/bin/linux/${ARCH}/kubectl RUN chmod +x ./kubectl RUN mv ./kubectl /usr/local/bin diff --git a/airbyte-workers/build.gradle b/airbyte-workers/build.gradle index 8cb581c3370da..b1a2f9a38afd5 100644 --- a/airbyte-workers/build.gradle +++ b/airbyte-workers/build.gradle @@ -35,7 +35,7 @@ dependencies { testImplementation 'org.postgresql:postgresql:42.2.18' testImplementation "org.flywaydb:flyway-core:7.14.0" testImplementation 'org.testcontainers:testcontainers:1.15.3' - testImplementation 'org.testcontainers:postgresql:1.15.1' + testImplementation 'org.testcontainers:postgresql:1.15.3' testImplementation project(':airbyte-commons-docker') diff --git a/build.gradle b/build.gradle index 277bcea75896a..150456325e615 100644 --- a/build.gradle +++ b/build.gradle @@ -248,11 +248,17 @@ 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' doFirst { exec { workingDir rootDir commandLine 'docker-compose', '-f', 'docker-compose.build.yaml', 'build', '--parallel', '--quiet' environment 'VERSION', buildTag + environment 'DOCKER_BUILD_PLATFORM', buildPlatform + environment 'DOCKER_BUILD_ARCH', buildArch + environment 'JDK_VERSION', jdkVersion } } } diff --git a/docker-compose.build.yaml b/docker-compose.build.yaml index bce29f9bbb074..d1119e88d256e 100644 --- a/docker-compose.build.yaml +++ b/docker-compose.build.yaml @@ -2,6 +2,7 @@ version: "3.7" services: init: + platform: linux/amd64 image: airbyte/init:${VERSION} build: dockerfile: Dockerfile @@ -9,6 +10,7 @@ services: labels: io.airbyte.git-revision: ${GIT_REVISION} db: + platform: linux/amd64 image: airbyte/db:${VERSION} build: dockerfile: Dockerfile @@ -16,27 +18,38 @@ services: labels: io.airbyte.git-revision: ${GIT_REVISION} scheduler: + platform: ${DOCKER_BUILD_PLATFORM} image: airbyte/scheduler:${VERSION} build: dockerfile: Dockerfile + args: + JDK_VERSION: ${JDK_VERSION} context: airbyte-scheduler/app labels: io.airbyte.git-revision: ${GIT_REVISION} worker: + platform: ${DOCKER_BUILD_PLATFORM} image: airbyte/worker:${VERSION} build: dockerfile: Dockerfile + args: + ARCH: ${DOCKER_BUILD_ARCH} + JDK_VERSION: ${JDK_VERSION} context: airbyte-workers labels: io.airbyte.git-revision: ${GIT_REVISION} server: + platform: ${DOCKER_BUILD_PLATFORM} image: airbyte/server:${VERSION} build: dockerfile: Dockerfile + args: + JDK_VERSION: ${JDK_VERSION} context: airbyte-server labels: io.airbyte.git-revision: ${GIT_REVISION} webapp: + platform: linux/amd64 image: airbyte/webapp:${VERSION} build: dockerfile: Dockerfile @@ -44,9 +57,12 @@ services: labels: io.airbyte.git-revision: ${GIT_REVISION} migration: + platform: ${DOCKER_BUILD_PLATFORM} image: airbyte/migration:${VERSION} build: dockerfile: Dockerfile + args: + JDK_VERSION: ${JDK_VERSION} context: airbyte-migration labels: io.airbyte.git-revision: ${GIT_REVISION} diff --git a/docs/contributing-to-airbyte/developing-locally.md b/docs/contributing-to-airbyte/developing-locally.md index 5ee89861c84d8..78941ad5c410a 100644 --- a/docs/contributing-to-airbyte/developing-locally.md +++ b/docs/contributing-to-airbyte/developing-locally.md @@ -33,6 +33,15 @@ To compile and build just the platform \(not all the connectors\): SUB_BUILD=PLATFORM ./gradlew build ``` +On Mac M1\(Apple Silicon\) machines\ +```bash +export DOCKER_BUILD_PLATFORM=linux/arm64 +export DOCKER_BUILD_ARCH=arm64 +export JDK_VERSION=17 +export NODE_VERSION=16.11.1 +SUB_BUILD=PLATFORM ./gradlew build +``` + This will build all the code and run all the unit tests. `SUB_BUILD=PLATFORM ./gradlew build` creates all the necessary artifacts \(Webapp, Jars and Docker images\) so that you can run Airbyte locally. Since this builds everything, it can take some time. diff --git a/gradle.properties b/gradle.properties index 8f5edd142ecdd..54669e018efe0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,11 @@ # NOTE: if you want to override this for your local machine, set overrides in ~/.gradle/gradle.properties org.gradle.parallel=true -org.gradle.jvmargs=-Xmx4g -Xss4m +org.gradle.jvmargs=-Xmx4g -Xss4m --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED org.gradle.caching=true # Note, this might have issues on the normal Github runner. diff --git a/tools/bin/build_image.sh b/tools/bin/build_image.sh index 65b748c5a9f08..bb6264eb2d5fb 100755 --- a/tools/bin/build_image.sh +++ b/tools/bin/build_image.sh @@ -39,9 +39,10 @@ if [ "$FOLLOW_SYMLINKS" == "true" ]; then # to use as the build context tar cL "${exclusions[@]}" . | docker build - "${args[@]}" else + JDK_VERSION="${JDK_VERSION:-14.0.2}" if [[ -z "${DOCKER_BUILD_PLATFORM}" ]]; then - docker build . "${args[@]}" + docker build --build-arg JDK_VERSION="$JDK_VERSION" . "${args[@]}" else - docker build --platform="$DOCKER_BUILD_PLATFORM" . "${args[@]}" + docker build --build-arg JDK_VERSION="$JDK_VERSION" --platform="$DOCKER_BUILD_PLATFORM" . "${args[@]}" fi fi