From 54b4eed411daff99a343056766180c0af718e192 Mon Sep 17 00:00:00 2001 From: brfrn169 Date: Fri, 18 Jul 2025 16:23:38 +0900 Subject: [PATCH] Use PostgreSQL in CI by default --- .github/workflows/ci.yaml | 39 ++++++++++--------- .../com/scalar/db/storage/jdbc/JdbcEnv.java | 6 +-- .../storage/multistorage/MultiStorageEnv.java | 6 +-- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 799f6e59c..067340ba4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -461,7 +461,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() @@ -520,7 +520,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() @@ -579,7 +579,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() @@ -643,7 +643,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() @@ -707,7 +707,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() @@ -771,7 +771,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() @@ -835,7 +835,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() @@ -899,7 +899,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() @@ -1077,7 +1077,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 @@ -1461,7 +1461,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() @@ -1482,7 +1482,6 @@ jobs: - label: with_group_commit group_commit_enabled: true - steps: - name: Run MariaDB 11.4 run: | @@ -1521,7 +1520,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() @@ -1743,13 +1742,19 @@ jobs: name: db2_12.1_integration_test_reports_${{ matrix.mode.label }} path: core/build/reports/tests/integrationTestJdbc - - integration-test-for-multi-storage: name: Multi-storage integration test (${{ matrix.mode.label }}) 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: @@ -1767,10 +1772,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 }}) @@ -1808,7 +1809,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 8c297435b..8162116d7 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 cb4e6d85d..0108b06d8 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 @@ -18,9 +18,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() {}