|
42 | 42 | INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT: '"-Dscalardb.consensus_commit.coordinator.group_commit.enabled=true" "-Dscalardb.consensus_commit.coordinator.group_commit.old_group_abort_timeout_millis=15000" --tests "**.ConsensusCommit**"' |
43 | 43 | AWS_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY }} |
44 | 44 | AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_ACCESS_KEY }} |
45 | | - S3_REGION: ap-northeast-1 |
46 | | - S3_BUCKET_NAME: scalardb-test-bucket |
| 45 | + S3_REGION: us-east-1 |
| 46 | + S3_BUCKET_BASE_NAME: s3-scalardb-test-bucket |
47 | 47 | CLOUD_STORAGE_PROJECT_ID: ${{ secrets.CLOUD_STORAGE_PROJECT_ID }} |
48 | 48 | CLOUD_STORAGE_SERVICE_ACCOUNT_KEY: ${{ secrets.CLOUD_STORAGE_SERVICE_ACCOUNT_KEY }} |
49 | | - CLOUD_STORAGE_BUCKET_NAME: scalardb-test-bucket |
| 49 | + CLOUD_STORAGE_BUCKET_BASE_NAME: scalardb-test-bucket |
50 | 50 |
|
51 | 51 | jobs: |
52 | 52 | integration-test-s3: |
53 | | - name: S3 integration test (${{ matrix.mode.label }}) |
| 53 | + name: S3 integration test (${{ matrix.test_group.label }}) |
54 | 54 | runs-on: ubuntu-latest |
55 | 55 |
|
56 | 56 | strategy: |
57 | 57 | fail-fast: false |
58 | 58 | matrix: |
59 | | - mode: |
60 | | - - label: default |
| 59 | + test_group: |
| 60 | + - label: consensus_commit_default |
| 61 | + tests_filter: '--tests "**.ConsensusCommitIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitCrossPartitionScanIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitNullMetadataIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitWithIncludeMetadataEnabledIntegrationTestWithObjectStorage"' |
| 62 | + bucket_suffix: consensus-commit |
61 | 63 | group_commit_enabled: false |
62 | | - - label: with_group_commit |
| 64 | + - label: consensus_commit_with_group_commit |
| 65 | + tests_filter: '--tests "**.ConsensusCommitIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitCrossPartitionScanIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitNullMetadataIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitWithIncludeMetadataEnabledIntegrationTestWithObjectStorage"' |
| 66 | + bucket_suffix: consensus-commit-gc |
63 | 67 | group_commit_enabled: true |
| 68 | + - label: consensus_commit_admin |
| 69 | + tests_filter: '--tests "**.ConsensusCommitAdminIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitAdminRepairIntegrationTestWithObjectStorage"' |
| 70 | + bucket_suffix: consensus-commit-admin |
| 71 | + group_commit_enabled: false |
| 72 | + - label: consensus_commit_admin_with_group_commit |
| 73 | + tests_filter: '--tests "**.ConsensusCommitAdminIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitAdminRepairIntegrationTestWithObjectStorage"' |
| 74 | + bucket_suffix: consensus-commit-admin-gc |
| 75 | + group_commit_enabled: true |
| 76 | + - label: consensus_commit_specific |
| 77 | + tests_filter: '--tests "**.ConsensusCommitSpecificIntegrationTestWithObjectStorage"' |
| 78 | + bucket_suffix: consensus-commit-specific |
| 79 | + group_commit_enabled: false |
| 80 | + - label: consensus_commit_specific_with_group_commit |
| 81 | + tests_filter: '--tests "**.ConsensusCommitSpecificIntegrationTestWithObjectStorage"' |
| 82 | + bucket_suffix: consensus-commit-specific-gc |
| 83 | + group_commit_enabled: true |
| 84 | + - label: storage_scan_single |
| 85 | + tests_filter: '--tests "**.ObjectStorageSingle**"' |
| 86 | + bucket_suffix: storage-scan-single |
| 87 | + group_commit_enabled: false |
| 88 | + - label: storage_scan_multiple |
| 89 | + tests_filter: '--tests "**.ObjectStorageMultiple**"' |
| 90 | + bucket_suffix: storage-scan-multiple |
| 91 | + group_commit_enabled: false |
| 92 | + - label: storage_wrapper |
| 93 | + tests_filter: '--tests "**.ObjectStorageWrapper**"' |
| 94 | + bucket_suffix: storage-wrapper |
| 95 | + group_commit_enabled: false |
| 96 | + - label: storage_admin |
| 97 | + tests_filter: '--tests "**.ObjectStorageAdmin**"' |
| 98 | + bucket_suffix: storage-admin |
| 99 | + group_commit_enabled: false |
| 100 | + - label: storage_cm |
| 101 | + tests_filter: '--tests "**.ObjectStorageConditionalMutation**"' |
| 102 | + bucket_suffix: storage-cm |
| 103 | + group_commit_enabled: false |
| 104 | + - label: storage_others |
| 105 | + tests_filter: '--tests "**.ObjectStorageCaseSensitivity**" --tests "**.ObjectStorageColumnValue**" --tests "**.ObjectStorageCrossPartition**" --tests "**.ObjectStorageIntegrationTest" --tests "**.ObjectStorageJapanese**" --tests "**.ObjectStorageMutationAtomicity**" --tests "**.ObjectStorageWithReservedKeyword**"' |
| 106 | + bucket_suffix: storage |
| 107 | + group_commit_enabled: false |
| 108 | + - label: two_phase_consensus_commit |
| 109 | + tests_filter: '--tests "**.TwoPhaseConsensusCommit**"' |
| 110 | + bucket_suffix: 2pcc |
| 111 | + group_commit_enabled: false |
| 112 | + - label: single_crud_operation_transaction |
| 113 | + tests_filter: '--tests "**.SingleCrudOperationTransaction**"' |
| 114 | + bucket_suffix: single-crud |
| 115 | + group_commit_enabled: false |
64 | 116 |
|
65 | 117 | steps: |
66 | 118 | - uses: actions/checkout@v6 |
@@ -95,26 +147,79 @@ jobs: |
95 | 147 | uses: gradle/actions/setup-gradle@v5 |
96 | 148 |
|
97 | 149 | - name: Execute Gradle 'integrationTestObjectStorage' task |
98 | | - run: ./gradlew integrationTestObjectStorage -Dscalardb.object_storage.storage=s3 -Dscalardb.object_storage.endpoint=${{ env.S3_REGION }}/${{ env.S3_BUCKET_NAME }} ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} |
| 150 | + run: ./gradlew integrationTestObjectStorage -Dscalardb.object_storage.storage=s3 -Dscalardb.object_storage.endpoint=${{ env.S3_REGION }}/${{ env.S3_BUCKET_BASE_NAME }}-${{ matrix.test_group.bucket_suffix }} -Dscalardb.object_storage.username='${{ env.AWS_ACCESS_KEY_ID }}' -Dscalardb.object_storage.password='${{ env.AWS_SECRET_ACCESS_KEY }}' ${{ matrix.test_group.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} ${{ matrix.test_group.tests_filter }} |
99 | 151 |
|
100 | 152 | - name: Upload Gradle test reports |
101 | 153 | if: always() |
102 | 154 | uses: actions/upload-artifact@v5 |
103 | 155 | with: |
104 | | - name: s3_integration_test_reports_${{ matrix.mode.label }} |
| 156 | + name: s3_integration_test_reports_${{ matrix.test_group.label }} |
105 | 157 | path: core/build/reports/tests/integrationTestObjectStorage |
| 158 | + |
106 | 159 | integration-test-cloud-storage: |
107 | | - name: Cloud Storage integration test (${{ matrix.mode.label }}) |
| 160 | + name: Cloud Storage integration test (${{ matrix.test_group.label }}) |
108 | 161 | runs-on: ubuntu-latest |
109 | 162 |
|
110 | 163 | strategy: |
111 | 164 | fail-fast: false |
112 | 165 | matrix: |
113 | | - mode: |
114 | | - - label: default |
| 166 | + test_group: |
| 167 | + - label: consensus_commit_default |
| 168 | + tests_filter: '--tests "**.ConsensusCommitIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitCrossPartitionScanIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitNullMetadataIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitWithIncludeMetadataEnabledIntegrationTestWithObjectStorage"' |
| 169 | + bucket_suffix: consensus-commit |
115 | 170 | group_commit_enabled: false |
116 | | - - label: with_group_commit |
| 171 | + - label: consensus_commit_with_group_commit |
| 172 | + tests_filter: '--tests "**.ConsensusCommitIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitCrossPartitionScanIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitNullMetadataIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitWithIncludeMetadataEnabledIntegrationTestWithObjectStorage"' |
| 173 | + bucket_suffix: consensus-commit-gc |
117 | 174 | group_commit_enabled: true |
| 175 | + - label: consensus_commit_admin |
| 176 | + tests_filter: '--tests "**.ConsensusCommitAdminIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitAdminRepairIntegrationTestWithObjectStorage"' |
| 177 | + bucket_suffix: consensus-commit-admin |
| 178 | + group_commit_enabled: false |
| 179 | + - label: consensus_commit_admin_with_group_commit |
| 180 | + tests_filter: '--tests "**.ConsensusCommitAdminIntegrationTestWithObjectStorage" --tests "**.ConsensusCommitAdminRepairIntegrationTestWithObjectStorage"' |
| 181 | + bucket_suffix: consensus-commit-admin-gc |
| 182 | + group_commit_enabled: true |
| 183 | + - label: consensus_commit_specific |
| 184 | + tests_filter: '--tests "**.ConsensusCommitSpecificIntegrationTestWithObjectStorage"' |
| 185 | + bucket_suffix: consensus-commit-specific |
| 186 | + group_commit_enabled: false |
| 187 | + - label: consensus_commit_specific_with_group_commit |
| 188 | + tests_filter: '--tests "**.ConsensusCommitSpecificIntegrationTestWithObjectStorage"' |
| 189 | + bucket_suffix: consensus-commit-specific-gc |
| 190 | + group_commit_enabled: true |
| 191 | + - label: storage_scan_single |
| 192 | + tests_filter: '--tests "**.ObjectStorageSingle**"' |
| 193 | + bucket_suffix: storage-scan-single |
| 194 | + group_commit_enabled: false |
| 195 | + - label: storage_scan_multiple |
| 196 | + tests_filter: '--tests "**.ObjectStorageMultiple**"' |
| 197 | + bucket_suffix: storage-scan-multiple |
| 198 | + group_commit_enabled: false |
| 199 | + - label: storage_wrapper |
| 200 | + tests_filter: '--tests "**.ObjectStorageWrapper**"' |
| 201 | + bucket_suffix: storage-wrapper |
| 202 | + group_commit_enabled: false |
| 203 | + - label: storage_admin |
| 204 | + tests_filter: '--tests "**.ObjectStorageAdmin**"' |
| 205 | + bucket_suffix: storage-admin |
| 206 | + group_commit_enabled: false |
| 207 | + - label: storage_cm |
| 208 | + tests_filter: '--tests "**.ObjectStorageConditionalMutation**"' |
| 209 | + bucket_suffix: storage-cm |
| 210 | + group_commit_enabled: false |
| 211 | + - label: storage_others |
| 212 | + tests_filter: '--tests "**.ObjectStorageCaseSensitivity**" --tests "**.ObjectStorageColumnValue**" --tests "**.ObjectStorageCrossPartition**" --tests "**.ObjectStorageIntegrationTest" --tests "**.ObjectStorageJapanese**" --tests "**.ObjectStorageMutationAtomicity**" --tests "**.ObjectStorageWithReservedKeyword**"' |
| 213 | + bucket_suffix: storage |
| 214 | + group_commit_enabled: false |
| 215 | + - label: two_phase_consensus_commit |
| 216 | + tests_filter: '--tests "**.TwoPhaseConsensusCommit**"' |
| 217 | + bucket_suffix: 2pcc |
| 218 | + group_commit_enabled: false |
| 219 | + - label: single_crud_operation_transaction |
| 220 | + tests_filter: '--tests "**.SingleCrudOperationTransaction**"' |
| 221 | + bucket_suffix: single-crud |
| 222 | + group_commit_enabled: false |
118 | 223 |
|
119 | 224 | steps: |
120 | 225 | - uses: actions/checkout@v6 |
@@ -149,11 +254,11 @@ jobs: |
149 | 254 | uses: gradle/actions/setup-gradle@v5 |
150 | 255 |
|
151 | 256 | - name: Execute Gradle 'integrationTestObjectStorage' task |
152 | | - run: ./gradlew integrationTestObjectStorage -Dscalardb.object_storage.storage=cloud-storage -Dscalardb.object_storage.endpoint=scalardb-test-bucket -Dscalardb.object_storage.username=${{ env.CLOUD_STORAGE_PROJECT_ID }} -Dscalardb.object_storage.password=${{ env.CLOUD_STORAGE_SERVICE_ACCOUNT_KEY }} ${{ matrix.mode.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} |
| 257 | + run: ./gradlew integrationTestObjectStorage -Dscalardb.object_storage.storage=cloud-storage -Dscalardb.object_storage.endpoint=${{ env.CLOUD_STORAGE_BUCKET_BASE_NAME }}-${{ matrix.test_group.bucket_suffix }} -Dscalardb.object_storage.username='${{ env.CLOUD_STORAGE_PROJECT_ID }}' -Dscalardb.object_storage.password='${{ env.CLOUD_STORAGE_SERVICE_ACCOUNT_KEY }}' ${{ matrix.test_group.group_commit_enabled && env.INT_TEST_GRADLE_OPTIONS_FOR_GROUP_COMMIT || '' }} ${{ matrix.test_group.tests_filter }} |
153 | 258 |
|
154 | 259 | - name: Upload Gradle test reports |
155 | 260 | if: always() |
156 | 261 | uses: actions/upload-artifact@v5 |
157 | 262 | with: |
158 | | - name: cloud_storage_integration_test_reports_${{ matrix.mode.label }} |
| 263 | + name: cloud_storage_integration_test_reports_${{ matrix.test_group.label }} |
159 | 264 | path: core/build/reports/tests/integrationTestObjectStorage |
0 commit comments