Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add v8 to ci #37

Merged
merged 13 commits into from
Nov 10, 2023
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ doc/changes/changelog.md linguist-genera
.github/workflows/dependencies_check.yml linguist-generated=true
.github/workflows/release_droid_print_quick_checksum.yml linguist-generated=true
.github/workflows/release_droid_upload_github_release_assets.yml linguist-generated=true
.github/workflows/release_droid_prepare_original_checksum.yml linguist-generated=true

.settings/org.eclipse.jdt.core.prefs linguist-generated=true
.settings/org.eclipse.jdt.ui.prefs linguist-generated=true
9 changes: 7 additions & 2 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,12 @@ jobs:
build:
runs-on: ubuntu-20.04 # UDFs fail with "VM error: Internal error: VM crashed" on ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.exasol_db_version }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
exasol_db_version: ["7.1.24", "8.23.1"]
steps:
- name: Free Disk Space
run: |
Expand Down Expand Up @@ -41,7 +45,8 @@ jobs:
run: |
JAVA_HOME=$JAVA_HOME_11_X64 mvn --batch-mode clean verify \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DtrimStackTrace=false
-DtrimStackTrace=false \
-Dcom.exasol.dockerdb.image=${{ matrix.exasol_db_version }}
- name: Publish Test Report
uses: scacap/action-surefire-report@v1
if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }}
Expand Down
23 changes: 19 additions & 4 deletions .github/workflows/dependencies_check.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .project-keeper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ sources:
- jar_artifact
excludes:
- "E-PK-CORE-18: Outdated content: '.github/workflows/ci-build.yml'"
- "E-PK-CORE-18: Outdated content: '.github/workflows/release_droid_prepare_original_checksum.yml'"
ciBuildRunnerOS: ubuntu-20.04
ckunki marked this conversation as resolved.
Show resolved Hide resolved
94 changes: 47 additions & 47 deletions dependencies.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 18 additions & 5 deletions doc/changes/changes_2.4.3.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,37 @@
# Virtual Schema for Oracle 2.4.3, released 2023-??-??

Code name:
Code name: Test with Exasol 8

## Summary

## Refactoring
This release adds integration tests using Exasol 8.

* #15: Fix reuse of oracle-db in integration test
**Note:** This release removes the Oracle JDBC driver from the adapter JAR file that was accidentally included in version 2.1.0. This means that you will need to define the `ADAPTER SCRIPT` specifying both the adapter JAR and the JDBC driver JAR as described in the [user guide](../user_guide/oracle_user_guide.md#installing-the-adapter-script).

## Feature

* #33: Added tests with Exasol 8

## Dependency Updates

### Compile Dependency Updates

* Removed `com.oracle.database.jdbc:ojdbc8:23.3.0.23.09`

### Test Dependency Updates

* Updated `com.exasol:exasol-testcontainers:6.6.2` to `6.6.3`
* Updated `com.exasol:hamcrest-resultset-matcher:1.6.1` to `1.6.2`
* Added `com.oracle.database.jdbc:ojdbc8:23.3.0.23.09`
* Updated `nl.jqno.equalsverifier:equalsverifier:3.15.2` to `3.15.3`
* Updated `org.jacoco:org.jacoco.agent:0.8.10` to `0.8.11`
* Updated `org.mockito:mockito-junit-jupiter:5.5.0` to `5.6.0`
* Updated `org.junit.jupiter:junit-jupiter:5.10.0` to `5.10.1`
* Updated `org.mockito:mockito-junit-jupiter:5.5.0` to `5.7.0`

### Plugin Dependency Updates

* Updated `com.exasol:error-code-crawler-maven-plugin:1.3.0` to `1.3.1`
* Updated `com.exasol:project-keeper-maven-plugin:2.9.12` to `2.9.14`
* Updated `com.exasol:project-keeper-maven-plugin:2.9.12` to `2.9.15`
* Updated `org.apache.maven.plugins:maven-enforcer-plugin:3.4.0` to `3.4.1`
* Updated `org.codehaus.mojo:versions-maven-plugin:2.16.0` to `2.16.1`
* Updated `org.jacoco:jacoco-maven-plugin:0.8.10` to `0.8.11`
Expand Down
17 changes: 8 additions & 9 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,19 +44,19 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<version>5.10.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>5.6.0</version>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>nl.jqno.equalsverifier</groupId>
<artifactId>equalsverifier</artifactId>
<version>3.15.2</version>
<version>3.15.3</version>
<scope>test</scope>
</dependency>
<!--Integration test dependencies -->
Expand All @@ -69,7 +69,7 @@
<dependency>
<groupId>com.exasol</groupId>
<artifactId>exasol-testcontainers</artifactId>
<version>6.6.2</version>
<version>6.6.3</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -88,9 +88,8 @@
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>23.3.0.23.09</version>
<!-- This must be in compile scope to avoid the following error when creating the virtual schema:
"java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@172.17.0.1:32805/xepdb1" -->
<scope>compile</scope>
<!-- This must be in test scope to avoid including the driver in the built JAR. -->
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.exasol</groupId>
Expand All @@ -107,7 +106,7 @@
<dependency>
<groupId>com.exasol</groupId>
<artifactId>hamcrest-resultset-matcher</artifactId>
<version>1.6.1</version>
<version>1.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -137,7 +136,7 @@
<plugin>
<groupId>com.exasol</groupId>
<artifactId>project-keeper-maven-plugin</artifactId>
<version>2.9.14</version>
<version>2.9.15</version>
<executions>
<execution>
<goals>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.exasol.adapter.dialects.oracle;

import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assumptions.assumeTrue;

import java.sql.*;

class ExasolVersionCheck {

private ExasolVersionCheck() {
// Not instantiable
}

/**
* This is a temporary workaround until integration tests work with Exasol 8.
*/
static void assumeExasolVersion7(final Connection connection) {
final String version = getExasolMajorVersion(connection);
assumeTrue("7".equals(version), "Expected Exasol version 7 but got '" + version + "'");
}

static String getExasolMajorVersion(final Connection connection) {
try (Statement stmt = connection.createStatement()) {
final ResultSet result = stmt
.executeQuery("SELECT PARAM_VALUE FROM SYS.EXA_METADATA WHERE PARAM_NAME='databaseMajorVersion'");
assertTrue(result.next(), "no result");
return result.getString(1);
} catch (final SQLException exception) {
throw new IllegalStateException("Failed to query Exasol version: " + exception.getMessage(), exception);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@

public final class IntegrationTestConstants {
public static final String VIRTUAL_SCHEMAS_JAR_NAME_AND_VERSION = "virtual-schema-dist-11.0.2-oracle-2.4.3.jar";
public static final String ORACLE_CONTAINER_NAME = "gvenzl/oracle-xe:21.3.0";
public static final String ORACLE_CONTAINER_NAME = "gvenzl/oracle-xe:21.3.0-slim-faststart";
public static final String SCHEMA_EXASOL = "SCHEMA_EXASOL";
public static final String TABLE_JOIN_1 = "TABLE_JOIN_1";
public static final String TABLE_JOIN_2 = "TABLE_JOIN_2";
public static final String JDBC_DRIVER_CONFIGURATION_FILE_NAME = "settings.cfg";
public static final int ORACLE_PORT = 1521;
public static final String RESOURCES_FOLDER_DIALECT_NAME = "oracle";

Expand Down

This file was deleted.

Loading