Skip to content

Commit

Permalink
Merge branch 'main' into DAT-18263
Browse files Browse the repository at this point in the history
  • Loading branch information
KushnirykOleh authored Oct 9, 2024
2 parents 752533b + 03eedfa commit c4ed052
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 7 deletions.
51 changes: 47 additions & 4 deletions .github/workflows/lth.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ jobs:
TF_VAR_TEST_CATALOG: main
TF_VAR_TEST_SCHEMA: liquibase_harness_test_ds
WORKSPACE_ID: ${{ secrets.TH_DATABRICKS_WORKSPACE_ID }}

LIQUIBOT_TOKEN: ${{ secrets.LIQUIBOT_PAT }}
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
strategy:
max-parallel: 1
matrix:
Expand Down Expand Up @@ -62,12 +63,54 @@ jobs:
distribution: temurin
cache: 'maven'

- name: maven-settings-xml-action
uses: whelk-io/maven-settings-xml-action@v22
with:
repositories: |
[
{
"id": "liquibase",
"url": "https://maven.pkg.github.com/liquibase/liquibase",
"releases": {
"enabled": "false"
},
"snapshots": {
"enabled": "true",
"updatePolicy": "always"
}
},
{
"id": "liquibase-pro",
"url": "https://maven.pkg.github.com/liquibase/liquibase-pro",
"releases": {
"enabled": "false"
},
"snapshots": {
"enabled": "true",
"updatePolicy": "always"
}
}
]
servers: |
[
{
"id": "liquibase-pro",
"username": "liquibot",
"password": "${{ secrets.LIQUIBOT_PAT }}"
},
{
"id": "liquibase",
"username": "liquibot",
"password": "${{ secrets.LIQUIBOT_PAT }}"
}
]
- name: Build with Maven # Build the code with Maven (skip tests)
run: mvn -B -ntp -Dmaven.test.skip package
run: mvn -B -ntp -Dmaven.test.skip package -Dliquibase.version=master-SNAPSHOT

- name: Run ${{ matrix.liquibase-support-level }} Liquibase Test Harness # Run the Liquibase test harness at each test level
if: always() # Run the action even if the previous steps fail
run: mvn -B -ntp -DdbPassword=${{env.TF_VAR_DBX_TOKEN}} -DdbUrl='${{env.DATABRICKS_URL}}' -Dtest=liquibase.ext.databricks.${{ matrix.liquibase-support-level }}ExtensionHarnessTestSuite test # Run the Liquibase test harness at each test level
run: mvn -B -ntp -DdbPassword=${{env.TF_VAR_DBX_TOKEN}} -DdbUrl='${{env.DATABRICKS_URL}}' -Dtest=liquibase.ext.databricks.${{ matrix.liquibase-support-level }}ExtensionHarnessTestSuite test -Dliquibase.version=master-SNAPSHOT # Run the Liquibase test harness at each test level

- name: Test Reporter # Generate a test report using the Test Reporter action
uses: dorny/[email protected]
Expand All @@ -93,4 +136,4 @@ jobs:
else
echo "Schema does not exist. Skipping removal."
fi
fi
fi
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@
<sonar.sources>src/main/java</sonar.sources>
<sonar.tests>src/test</sonar.tests>
<liquibase-test-harness.version>1.0.10</liquibase-test-harness.version>
<junit.version>5.11.0</junit.version>
<junit-platform.version>1.11.0</junit-platform.version>
<junit.version>5.11.2</junit.version>
<junit-platform.version>1.11.2</junit-platform.version>
<jacoco.fileset.directory>target</jacoco.fileset.directory>
</properties>

Expand Down Expand Up @@ -160,7 +160,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.10.0</version>
<version>3.10.1</version>
<configuration>
<attach>true</attach>
<author>false</author>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package liquibase.ext.databricks.parser;

import liquibase.parser.LiquibaseParser;
import liquibase.parser.NamespaceDetails;
import liquibase.parser.core.xml.XMLChangeLogSAXParser;
import liquibase.serializer.LiquibaseSerializer;
import liquibase.serializer.core.xml.XMLChangeLogSerializer;

/**
* Namespace details for Databricks extension.
* It is used by Liquibase when generating changelogs - ie during a snapshot.
*/
public class NamespaceDetailsDatabricks implements NamespaceDetails {

public static final String DATABRICKS_NAMESPACE = "http://www.liquibase.org/xml/ns/databricks";

public static final String DATABRICKS_XSD = "http://www.liquibase.org/xml/ns/databricks/liquibase-databricks-latest.xsd";

@Override
public int getPriority() {
return PRIORITY_EXTENSION;
}

@Override
public boolean supports(LiquibaseSerializer serializer, String namespace) {
return namespaceCorrect(namespace) && serializer instanceof XMLChangeLogSerializer;
}

@Override
public boolean supports(LiquibaseParser parser, String namespace) {
return namespaceCorrect(namespace) && parser instanceof XMLChangeLogSAXParser;
}

@Override
public String getShortName(String namespace) {
return "databricks";
}

@Override
public String getSchemaUrl(String namespace) {
return DATABRICKS_XSD;
}

@Override
public String[] getNamespaces() {
return new String[]{
DATABRICKS_NAMESPACE
};
}

private boolean namespaceCorrect(String namespace) {
return namespace.equals(DATABRICKS_NAMESPACE) || namespace.equals(DATABRICKS_XSD);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
liquibase.ext.databricks.parser.NamespaceDetailsDatabricks

0 comments on commit c4ed052

Please sign in to comment.