From 8a85fde9a075a8ff36058fef282f153e1b492d40 Mon Sep 17 00:00:00 2001 From: Toshihiro Suzuki Date: Tue, 22 Jul 2025 13:54:50 +0000 Subject: [PATCH 1/2] Empty commit [skip ci] From 769f6bcb60e6ca15551f0a86da2a1b0222b40475 Mon Sep 17 00:00:00 2001 From: Toshihiro Suzuki Date: Tue, 22 Jul 2025 22:54:30 +0900 Subject: [PATCH 2/2] Use PostgreSQL in integration tests by default (#2894) --- .github/workflows/ci.yaml | 37 ++++++++++--------- .../com/scalar/db/storage/jdbc/JdbcEnv.java | 6 +-- .../storage/multistorage/MultiStorageEnv.java | 6 +-- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fe9c234ed5..4add2bce9a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -450,7 +450,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:mysql://localhost:3306/ -Dscalardb.jdbc.username=root -Dscalardb.jdbc.password=mysql ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -509,7 +509,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:mysql://localhost:3306/ -Dscalardb.jdbc.username=root -Dscalardb.jdbc.password=mysql ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -568,7 +568,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:mysql://localhost:3306/ -Dscalardb.jdbc.username=root -Dscalardb.jdbc.password=mysql ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -632,7 +632,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:postgresql://localhost:5432/ -Dscalardb.jdbc.username=postgres -Dscalardb.jdbc.password=postgres ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -696,7 +696,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:postgresql://localhost:5432/ -Dscalardb.jdbc.username=postgres -Dscalardb.jdbc.password=postgres ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -760,7 +760,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:postgresql://localhost:5432/ -Dscalardb.jdbc.username=postgres -Dscalardb.jdbc.password=postgres ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -824,7 +824,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:postgresql://localhost:5432/ -Dscalardb.jdbc.username=postgres -Dscalardb.jdbc.password=postgres ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -888,7 +888,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:postgresql://localhost:5432/ -Dscalardb.jdbc.username=postgres -Dscalardb.jdbc.password=postgres ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -1066,7 +1066,7 @@ jobs: - name: Wait for the container to be ready timeout-minutes: 5 - run : | + run: | while [ "`docker inspect -f {{.State.Health.Status}} oracle-23`" != "healthy" ] do sleep 10 @@ -1450,7 +1450,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:mariadb://localhost:3306 ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:mariadb://localhost:3306 -Dscalardb.jdbc.username=root -Dscalardb.jdbc.password=mysql ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -1471,7 +1471,6 @@ jobs: - label: with_group_commit group_commit_enabled: true - steps: - name: Run MariaDB 11.4 run: | @@ -1510,7 +1509,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Execute Gradle 'integrationTestJdbc' task - run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:mariadb://localhost:3306 ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} + run: ./gradlew integrationTestJdbc -Dscalardb.jdbc.url=jdbc:mariadb://localhost:3306 -Dscalardb.jdbc.username=root -Dscalardb.jdbc.password=mysql ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} - name: Upload Gradle test reports if: always() @@ -1583,6 +1582,14 @@ jobs: runs-on: ubuntu-latest services: + postgres: + image: postgres:17-alpine + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + ports: + - 5432:5432 + cassandra: image: cassandra:3.11 env: @@ -1600,10 +1607,6 @@ jobs: group_commit_enabled: true steps: - - name: Run MySQL 8 - run: | - docker run -e MYSQL_ROOT_PASSWORD=mysql -p 3306:3306 -d mysql:8 --character-set-server=utf8mb4 --collation-server=utf8mb4_bin - - uses: actions/checkout@v4 - name: Set up JDK ${{ env.JAVA_VERSION }} (${{ env.JAVA_VENDOR }}) @@ -1641,7 +1644,7 @@ jobs: - name: Upload Gradle test reports uses: actions/upload-artifact@v4 - if : always() + if: always() with: name: multi_storage_integration_test_reports_${{ matrix.mode.label }} path: core/build/reports/tests/integrationTestMultiStorage diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcEnv.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcEnv.java index 5f334d646f..04630e793e 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcEnv.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcEnv.java @@ -8,9 +8,9 @@ public final class JdbcEnv { private static final String PROP_JDBC_USERNAME = "scalardb.jdbc.username"; private static final String PROP_JDBC_PASSWORD = "scalardb.jdbc.password"; - private static final String DEFAULT_JDBC_URL = "jdbc:mysql://localhost:3306/"; - private static final String DEFAULT_JDBC_USERNAME = "root"; - private static final String DEFAULT_JDBC_PASSWORD = "mysql"; + private static final String DEFAULT_JDBC_URL = "jdbc:postgresql://localhost:5432/"; + private static final String DEFAULT_JDBC_USERNAME = "postgres"; + private static final String DEFAULT_JDBC_PASSWORD = "postgres"; private JdbcEnv() {} diff --git a/core/src/integration-test/java/com/scalar/db/storage/multistorage/MultiStorageEnv.java b/core/src/integration-test/java/com/scalar/db/storage/multistorage/MultiStorageEnv.java index 19da493b91..5bcdc9eed0 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/multistorage/MultiStorageEnv.java +++ b/core/src/integration-test/java/com/scalar/db/storage/multistorage/MultiStorageEnv.java @@ -19,9 +19,9 @@ public final class MultiStorageEnv { private static final String DEFAULT_CASSANDRA_USERNAME = "cassandra"; private static final String DEFAULT_CASSANDRA_PASSWORD = "cassandra"; - private static final String DEFAULT_JDBC_CONTACT_POINT = "jdbc:mysql://localhost:3306/"; - private static final String DEFAULT_JDBC_USERNAME = "root"; - private static final String DEFAULT_JDBC_PASSWORD = "mysql"; + private static final String DEFAULT_JDBC_CONTACT_POINT = "jdbc:postgresql://localhost:5432/"; + private static final String DEFAULT_JDBC_USERNAME = "postgres"; + private static final String DEFAULT_JDBC_PASSWORD = "postgres"; private MultiStorageEnv() {}