AWS Cloud Database Test Execution #1658
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Terraform Action to test Cloud Databases with test-harness | |
name: AWS Cloud Database Test Execution | |
concurrency: aws-run | |
on: | |
# Triggers the workflow on a schedule for the main branch. Also allows for manual triggers | |
schedule: | |
- cron: '0 6 * * *' # Execute every day at 6AM UTC | |
workflow_dispatch: | |
inputs: | |
testClasses: | |
type: choice | |
description: Test Suite or test class to run | |
options: | |
- LiquibaseHarnessSuiteTest | |
- FoundationalHarnessSuiteTest | |
- AdvancedHarnessSuiteTest | |
- ChangeObjectTests | |
- ChangeDataTests | |
- SnapshotObjectTests | |
- GenerateChangelogTest | |
- FoundationalTest | |
databases: | |
description: Databases to start up. Comma separated list of "name:version" | |
required: true | |
default: "[\"postgresql:12\",\"postgresql:13\",\"postgresql:14\",\"postgresql:16\",\"oracle:aws_19\",\"mariadb:aws_10.6\",\"mysql:aws\",\"mysql:aurora\",\"mssql:2019\",\"postgresql:aurora\"]" | |
jobs: | |
setup: | |
name: Setup | |
runs-on: ubuntu-latest | |
outputs: | |
databases: ${{ github.event.inputs.databases || '["postgresql:12","postgresql:13","postgresql:14","postgresql:16","oracle:aws_19", | |
"mariadb:aws_10.6","mysql:aws","mysql:aurora","mssql:2019","postgresql:aurora"]' }} | |
testClasses: ${{ inputs.testClasses || 'LiquibaseHarnessSuiteTest' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
test: | |
needs: [setup] | |
runs-on: ubuntu-latest | |
env: | |
LPM_VERSION: 0.2.3 | |
strategy: | |
fail-fast: false | |
matrix: | |
database: ${{ fromJson(needs.setup.outputs.databases) }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5.3.0 | |
with: | |
python-version: '3.11.5' | |
- name: Install liquibase and lpm | |
run: | | |
wget -O- https://repo.liquibase.com/liquibase.asc | gpg --dearmor > liquibase-keyring.gpg && \ | |
cat liquibase-keyring.gpg | sudo tee /usr/share/keyrings/liquibase-keyring.gpg > /dev/null && \ | |
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/liquibase-keyring.gpg] https://repo.liquibase.com stable main' | sudo tee /etc/apt/sources.list.d/liquibase.list | |
sudo apt-get update | |
sudo apt-get install liquibase | |
curl -L -o lpm-${{ env.LPM_VERSION }}-linux.zip https://github.com/liquibase/liquibase-package-manager/releases/download/v${{ env.LPM_VERSION }}/lpm-${{ env.LPM_VERSION }}-linux.zip | |
sudo unzip -o lpm-${{ env.LPM_VERSION }}-linux.zip -d /usr/bin | |
sudo lpm update && sudo lpm add mysql postgresql | |
- name: Start & Configure LocalStack | |
env: | |
LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} | |
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }} | |
RDS_MYSQL_DOCKER: 1 #https://docs.localstack.cloud/user-guide/aws/rds/#mysql-engine | |
run: | | |
pip install localstack awscli-local | |
docker pull localstack/localstack-pro | |
docker pull mcr.microsoft.com/mssql/server:2019-latest | |
DOCKER_FLAGS='-e MSSQL_ACCEPT_EULA=Y -e MSSQL_IMAGE=mcr.microsoft.com/mssql/server:2019-latest' localstack start -d | |
echo "Waiting for LocalStack startup..." | |
localstack wait -t 30 | |
echo "Startup complete" | |
echo "TH_DB_ADMIN=lbuser" >> $GITHUB_ENV | |
echo "TH_DB_PASSWD=test" >> $GITHUB_ENV | |
echo "TH_DB_PASSWD_MSSQL=Test.2024" >> $GITHUB_ENV | |
echo "TH_DB=lbcat" >> $GITHUB_ENV | |
echo "TH_AURORA_POSTGRESQL_ENGINE=16" >> $GITHUB_ENV | |
echo "TH_MARIADB_ENGINE=10.6" >> $GITHUB_ENV | |
echo "TH_MSSQL_ENGINE=2019" >> $GITHUB_ENV | |
echo "TH_MYSQL_ENGINE=8.0" >> $GITHUB_ENV | |
- name: Configure Test | |
id: setup | |
uses: actions/github-script@v7.0.1 | |
with: | |
script: | | |
let splitValues = "${{ matrix.database }}".split(":") | |
core.setOutput("databasePlatform", splitValues[0]); | |
core.setOutput("databaseVersion", splitValues[1]); | |
- name: Init Aurora MySQL Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'mysql' && steps.setup.outputs.databaseVersion == 'aurora' }} | |
run: | | |
awslocal rds create-db-cluster --db-cluster-identifier aurora-mysql-primary-cluster --engine aurora-mysql --database-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD }} | |
awslocal rds create-db-instance --db-instance-identifier aurora-mysql-primary-cluster-instance --db-cluster-identifier aurora-mysql-primary-cluster --engine aurora-mysql --db-instance-class db.t3.medium | |
aurora_mysql_port=$(awslocal rds describe-db-instances --db-instance-identifier aurora-mysql-primary-cluster-instance --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
aurora_mysql_url="jdbc:mysql://localhost:$aurora_mysql_port/${{ env.TH_DB }}" | |
echo "TH_AURORA_MYSQLURL=$aurora_mysql_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="root" --password="${{ env.TH_DB_PASSWD }}" --url="$aurora_mysql_url" update | |
- name: Init Aurora Postgresql Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion == 'aurora' }} | |
run: | | |
awslocal rds create-db-cluster --db-cluster-identifier aurora-postgresql-primary-cluster --engine aurora-postgresql --engine-version ${{ env.TH_AURORA_POSTGRESQL_ENGINE }} --database-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD }} | |
awslocal rds create-db-instance --db-instance-identifier aurora-postgresql-primary-cluster-instance --db-cluster-identifier aurora-postgresql-primary-cluster --engine aurora-postgresql --db-instance-class db.t3.medium | |
aurora_postgresql_port=$(awslocal rds describe-db-instances --db-instance-identifier aurora-postgresql-primary-cluster-instance --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
aurora_postgresql_url="jdbc:postgresql://localhost:$aurora_postgresql_port/${{ env.TH_DB }}" | |
echo "TH_AURORA_POSTGRESQLURL=$aurora_postgresql_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="${{ env.TH_DB_ADMIN }}" --password="${{ env.TH_DB_PASSWD }}" --url="$aurora_postgresql_url" update | |
- name: Init MariaDB Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'mariadb' }} | |
run: | | |
awslocal rds create-db-cluster --db-cluster-identifier mariadb-primary-cluster --engine mariadb --engine-version ${{ env.TH_MARIADB_ENGINE }} --database-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD }} | |
awslocal rds create-db-instance --db-instance-identifier mariadb-primary-cluster-instance --db-cluster-identifier mariadb-primary-cluster --engine mariadb --db-instance-class db.t3.medium | |
mariadb_port=$(awslocal rds describe-db-instances --db-instance-identifier mariadb-primary-cluster-instance --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
mariadb_url="jdbc:mariadb://localhost:$mariadb_port/${{ env.TH_DB }}" | |
echo "TH_MARIADBURL_10_6=$mariadb_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="${{ env.TH_DB_ADMIN }}" --password="${{ env.TH_DB_PASSWD }}" --url="$mariadb_url" update | |
- name: Init PostgreSQL 12 Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion != 'aurora' && steps.setup.outputs.databaseVersion == '12' }} | |
run: | | |
awslocal rds create-db-cluster --db-cluster-identifier postgres12-primary-cluster --engine postgres --engine-version 12 --database-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD }} | |
awslocal rds create-db-instance --db-instance-identifier postgres12-primary-cluster-instance --db-cluster-identifier postgres12-primary-cluster --engine postgres --db-instance-class db.t3.medium | |
postgres12_port=$(awslocal rds describe-db-instances --db-instance-identifier postgres12-primary-cluster-instance --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
postgres12_url="jdbc:postgresql://localhost:$postgres12_port/${{ env.TH_DB }}" | |
echo "TH_PGRESURL_12=$postgres12_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="${{ env.TH_DB_ADMIN }}" --password="${{ env.TH_DB_PASSWD }}" --url="$postgres12_url" update | |
- name: Init PostgreSQL 13 Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion != 'aurora' && steps.setup.outputs.databaseVersion == '13' }} | |
run: | | |
awslocal rds create-db-cluster --db-cluster-identifier postgres13-primary-cluster --engine postgres --engine-version 13 --database-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD }} | |
awslocal rds create-db-instance --db-instance-identifier postgres13-primary-cluster-instance --db-cluster-identifier postgres13-primary-cluster --engine postgres --db-instance-class db.t3.medium | |
postgres13_port=$(awslocal rds describe-db-instances --db-instance-identifier postgres13-primary-cluster-instance --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
postgres13_url="jdbc:postgresql://localhost:$postgres13_port/${{ env.TH_DB }}" | |
echo "TH_PGRESURL_13=$postgres13_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="${{ env.TH_DB_ADMIN }}" --password="${{ env.TH_DB_PASSWD }}" --url="$postgres13_url" update | |
- name: Init PostgreSQL 14 Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion != 'aurora' && steps.setup.outputs.databaseVersion == '14' }} | |
run: | | |
awslocal rds create-db-cluster --db-cluster-identifier postgres14-primary-cluster --engine postgres --engine-version 14 --database-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD }} | |
awslocal rds create-db-instance --db-instance-identifier postgres14-primary-cluster-instance --db-cluster-identifier postgres14-primary-cluster --engine postgres --db-instance-class db.t3.medium | |
postgres14_port=$(awslocal rds describe-db-instances --db-instance-identifier postgres14-primary-cluster-instance --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
postgres14_url="jdbc:postgresql://localhost:$postgres14_port/${{ env.TH_DB }}" | |
echo "TH_PGRESURL_14=$postgres14_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="${{ env.TH_DB_ADMIN }}" --password="${{ env.TH_DB_PASSWD }}" --url="$postgres14_url" update | |
- name: Init PostgreSQL 16 Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion != 'aurora' && steps.setup.outputs.databaseVersion == '16' }} | |
run: | | |
awslocal rds create-db-cluster --db-cluster-identifier postgres16-primary-cluster --engine postgres --engine-version 16 --database-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD }} | |
awslocal rds create-db-instance --db-instance-identifier postgres16-primary-cluster-instance --db-cluster-identifier postgres16-primary-cluster --engine postgres --db-instance-class db.t3.medium | |
postgres16_port=$(awslocal rds describe-db-instances --db-instance-identifier postgres16-primary-cluster-instance --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
postgres16_url="jdbc:postgresql://localhost:$postgres16_port/${{ env.TH_DB }}" | |
echo "TH_PGRESURL_16=$postgres16_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="${{ env.TH_DB_ADMIN }}" --password="${{ env.TH_DB_PASSWD }}" --url="$postgres16_url" update | |
- name: Init AWS RDS MSSQL 2019 Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'mssql'}} | |
run: | | |
awslocal rds create-db-instance --db-instance-identifier mssql2019 --engine sqlserver-ee --engine-version ${{ env.TH_MSSQL_ENGINE }} --db-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD_MSSQL }} --db-instance-class db.t3.medium | |
mssql2019_port=$(awslocal rds describe-db-instances --db-instance-identifier mssql2019 --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
mssql2019_url="jdbc:sqlserver://;serverName=localhost;port=$mssql2019_port;trustServerCertificate=true;databaseName=${{ env.TH_DB }}" | |
echo "TH_MSSQLURL=$mssql2019_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="${{ env.TH_DB_ADMIN }}" --password="${{ env.TH_DB_PASSWD_MSSQL }}" --url="$mssql2019_url" update | |
- name: Init AWS RDS MySQL Database | |
if: ${{ steps.setup.outputs.databasePlatform == 'mysql' && steps.setup.outputs.databaseVersion == 'aws' }} | |
run: | | |
awslocal rds create-db-instance --db-instance-identifier mysql --engine mysql --engine-version ${{ env.TH_MYSQL_ENGINE }} --db-name ${{ env.TH_DB }} --master-username ${{ env.TH_DB_ADMIN }} --master-user-password ${{ env.TH_DB_PASSWD }} --db-instance-class db.t3.medium | |
mysql_port=$(awslocal rds describe-db-instances --db-instance-identifier mysql --query 'DBInstances[0].Endpoint.Port' | jq -r) | |
mysql_url="jdbc:mysql://localhost:$mysql_port/${{ env.TH_DB }}" | |
echo "TH_MYSQLURL_8_0=$mysql_url" >> $GITHUB_ENV | |
sleep 30 | |
liquibase --classpath="src/test/resources/init-changelogs/aws" --changeLogFile="${{ steps.setup.outputs.databasePlatform }}.sql" --username="root" --password="${{ env.TH_DB_PASSWD }}" --url="$mysql_url" update | |
- uses: liquibase-github-actions/drop-all@v4.30.0 | |
if: ${{ steps.setup.outputs.databasePlatform == 'oracle' }} | |
with: | |
url: "${{ secrets.TH_ORACLEURL_19 }}" | |
username: "${{secrets.TH_DB_ADMIN}}" | |
password: "${{secrets.TH_DB_PASSWD}}" | |
licenseKey: "${{secrets.LICENSE_KEY}}" | |
force: true | |
requireForce: true | |
- uses: liquibase/liquibase-github-action@v7 | |
if: ${{ steps.setup.outputs.databasePlatform == 'oracle' }} | |
with: | |
operation: "update" | |
classpath: "src/test/resources/init-changelogs/aws" | |
changeLogFile: "oracle.sql" | |
username: "${{secrets.TH_DB_ADMIN}}" | |
password: "${{secrets.TH_DB_PASSWD}}" | |
url: "${{ secrets.TH_ORACLEURL_19 }}" | |
- name: Cache local Maven repository | |
uses: actions/cache@v4 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion != 'aurora' && steps.setup.outputs.databaseVersion == '12' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -Dprefix=aws -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD}} -DdbUrl='${{ env.TH_PGRESURL_12 }}' test | |
- name: AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion != 'aurora' && steps.setup.outputs.databaseVersion == '13' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -Dprefix=aws -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD}} -DdbUrl='${{ env.TH_PGRESURL_13 }}' test | |
- name: AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion != 'aurora' && steps.setup.outputs.databaseVersion == '14' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -Dprefix=aws -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD}} -DdbUrl='${{ env.TH_PGRESURL_14 }}' test | |
- name: AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion != 'aurora' && steps.setup.outputs.databaseVersion == '16' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -Dprefix=aws -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD}} -DdbUrl='${{ env.TH_PGRESURL_16 }}' test | |
- name: AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'oracle' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -DdbUsername=${{secrets.TH_DB_ADMIN}} -DdbPassword=${{secrets.TH_DB_PASSWD}} -DdbUrl='${{ secrets.TH_ORACLEURL_19 }}' test | |
- name: AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'mariadb' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD}} -DdbUrl='${{ env.TH_MARIADBURL_10_6 }}' test | |
- name: AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'mysql' && steps.setup.outputs.databaseVersion == 'aws' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD}} -DdbUrl='${{ env.TH_MYSQLURL_8_0 }}' test | |
- name: AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'mssql' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD_MSSQL}} -DdbUrl='${{ env.TH_MSSQLURL }}' test | |
- name: AWS Aurora ${{ steps.setup.outputs.databasePlatform }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'mysql' && steps.setup.outputs.databaseVersion == 'aurora' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=${{ steps.setup.outputs.databaseVersion }} -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD}} -DdbUrl='${{ env.TH_AURORA_MYSQLURL }}' test | |
- name: AWS Aurora ${{ steps.setup.outputs.databasePlatform }} Test Run | |
if: ${{ steps.setup.outputs.databasePlatform == 'postgresql' && steps.setup.outputs.databaseVersion == 'aurora' }} | |
env: | |
LIQUIBASE_PRO_LICENSE_KEY: ${{ secrets.LICENSE_KEY }} | |
run: mvn -Dtest=${{ needs.setup.outputs.testClasses }} -DconfigFile=/harness-config-cloud.yml -DdbName=${{ steps.setup.outputs.databasePlatform }} -DdbVersion=16 -Dprefix=aurora -DdbUsername=${{env.TH_DB_ADMIN}} -DdbPassword=${{env.TH_DB_PASSWD}} -DdbUrl='${{ env.TH_AURORA_POSTGRESQLURL }}' test | |
- name: Archive AWS RDS ${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }} Test Results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aws-rds-${{ steps.setup.outputs.databasePlatform }}-${{ steps.setup.outputs.databaseVersion }}-test-results | |
path: build/spock-reports |