Skip to content

DAT-16000



 liquibase-redshift using Liquibase Parent POM #16

DAT-16000



 liquibase-redshift using Liquibase Parent POM

DAT-16000



 liquibase-redshift using Liquibase Parent POM #16

Workflow file for this run

name: Build and Test
on:
workflow_dispatch:
pull_request:
types:
- opened
- reopened
- synchronize
jobs:
build:
name: Build & Package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
cache: 'maven'
- name: Set latest liquibase version
if: ${{ inputs.nightly }}
run: mvn versions:set-property -Dproperty=liquibase.version -DnewVersion=master-SNAPSHOT
- name: Build and Package
run: mvn -B dependency:go-offline clean package -DskipTests=true
- name: Get Artifact ID
id: get-artifact-id
run: echo "::set-output name=artifact_id::$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout)"
- name: Save Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ steps.get-artifact-id.outputs.artifact_id }}-artifacts
path: |
target/*
- name: Save Event File
uses: actions/upload-artifact@v3
with:
name: Event File
path: ${{ github.event_path }}
outputs:
artifact_id: ${{ steps.get-artifact-id.outputs.artifact_id }}
unit-test:
name: Test Java ${{ matrix.java }}
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
matrix:
java: [ 8, 11, 17 ]
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
cache: 'maven'
- uses: actions/download-artifact@v3
with:
name: ${{needs.build.outputs.artifact_id}}-artifacts
path: ./target
- name: Run Tests
run: mvn -B jacoco:prepare-agent surefire:test -Dtest="RedshiftDatabaseTest" -DfailIfNoTests=true
- name: Archive Test Results
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: test-reports-jdk-${{ matrix.java }}
path: |
**/target/surefire-reports
**/target/jacoco.exec
sonar-pr:
needs: [ unit-test ]
uses: liquibase/build-logic/.github/workflows/sonar-pull-request.yml@DAT-16000
secrets: inherit
# prepare-database:
# name: Clean and initialize database
# needs: build
# runs-on: ubuntu-latest
# container:
# image: liquibase/liquibase:latest
#
# strategy:
# fail-fast: false
#
# steps:
# - uses: actions/checkout@v2
#
# - name: Download Artifacts
# uses: actions/download-artifact@v3
# with:
# name: liquibase-redshift-artifacts
#
# - name: Download AWS Redshift driver
# run: wget https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.jar
#
# - name: Add Redshift extension and driver to liquibase classpath
# run: |
# cp redshift-jdbc42-2.1.0.14.jar /liquibase/lib/
# cp liquibase-redshift-0-SNAPSHOT.jar /liquibase/lib/
#
# - name: Clean AWS Redshift Database
# run: liquibase --username="${{ secrets.TH_DB_ADMIN }}" --password="${{ secrets.TH_DB_PASSWD }}" --url="${{ secrets.TH_REDSHIFTURL }}" dropAll
#
# - name: Init Database
# run: liquibase --classpath="src/test/resources" --changeLogFile="harness.initScript.sql" --username="${{ secrets.TH_DB_ADMIN }}" --password="${{ secrets.TH_DB_PASSWD }}" --url="${{ secrets.TH_REDSHIFTURL }}" update
# integration-test:
# name: Test Harness for Redshift ${{ matrix.redshift }}
# needs: prepare-database
# runs-on: ubuntu-latest
# env:
# LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.PRO_LICENSE_KEY }}
#
# strategy:
# fail-fast: false
# matrix:
# redshift: [ "" ]
#
# steps:
# - uses: actions/checkout@v2
#
# - name: Set up JDK
# uses: actions/setup-java@v3
# with:
# java-version: 11
# distribution: 'temurin'
# cache: 'maven'
#
# - name: Build Cache
# uses: actions/[email protected]
# with:
# key: build-${{ github.run_number }}-${{ github.run_attempt }}
# path: |
# **/target/**
# ~/.m2/repository/org/liquibase/
#
# - name: Debug
# run: |
# pwd
# ls -l
# ls -l ~/.m2/repository/org/liquibase/liquibase-commercial/
# mvn dependency:tree
#
# - name: Harness Test Run
# run: mvn -Dtest="LiquibaseHarnessSuiteIT" -DdbName=redshift -DdbUsername=${{secrets.TH_DB_ADMIN}} -DdbPassword=${{secrets.TH_DB_PASSWD}} -DdbUrl=${{secrets.TH_REDSHIFTURL}} test
#
# - name: Foundational Harness Test Run
# run: mvn -Dtest="LiquibaseHarnessFoundationalSuiteTest" -DdbName=redshift -DdbUsername=${{secrets.TH_DB_ADMIN}} -DdbPassword=${{secrets.TH_DB_PASSWD}} -DdbUrl=${{secrets.TH_REDSHIFTURL}} test
#
# - name: Advanced Harness Test Run
# run: mvn -Dtest="LiquibaseHarnessAdvancedSuiteTest" -DdbName=redshift -DdbUsername=${{secrets.TH_DB_ADMIN}} -DdbPassword=${{secrets.TH_DB_PASSWD}} -DdbUrl=${{secrets.TH_REDSHIFTURL}} test
#
# - name: Archive Redshift Test Results
# if: ${{ always() }}
# uses: actions/upload-artifact@v3
# with:
# name: redshift-test-results
# path: build/spock-reports