Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DAT-17834 Ephemeral AWS infra for liquibase-test-harness (#819)
* ✨ (aws-weekly.yml): Add AWS Weekly Cloud Database Test Execution workflow for testing Cloud Databases with test-harness using Terraform Action 🔧 (aws-weekly.yml): Configure workflow to run every Sunday at 6:00 AM and allow manual triggers with specified test classes and databases to start up 🚀 (aws-weekly.yml): Implement jobs for setup, deploying ephemeral cloud infrastructure, initializing MySQL databases, and running tests on various database platforms and versions ✨ Add support for running tests on different database platforms and versions using Maven 🔧 Update test run configurations to include database platform, version, username, password, and URL 🔧 Add support for running tests on AWS Aurora database platform 🔧 Include logic to archive test results for AWS RDS databases 🔧 Implement logic to destroy ephemeral cloud infrastructure after testing phase * 🔧 (aws-weekly.yml): Update schedule to execute workflow every Sunday at 4:00 AM instead of 6:00 AM 🔧 (aws-weekly.yml): Refactor workflow to include support for various database types in the test execution process * ✨ (aws-weekly.yml): add support for AWS MySQL database option in the workflow configuration. * 🔧 (aws-weekly.yml): Update condition for aws_postgresql to exclude 'postgresql:aurora' and include 'postgresql' for deployment decision-making. Remove unnecessary whitespace at the end of the file. * 🐛 (aws-weekly.yml): fix condition for aws_postgresql to correctly check for 'postgresql' database type and exclude 'postgresql:aurora' from the check * 🔧 (aws-weekly.yml): add permissions for contents and id-token to improve security and access control in the workflow job. * 📝 (aws-weekly.yml): remove unnecessary concurrency key from workflow configuration to improve readability and maintainability * 🔧 (aws-weekly.yml): Update secret-ids format for mysql and aurora database connections to include correct resource id suffix 🔧 (aws-weekly.yml): Remove unnecessary secret-ids for other database connections to streamline the workflow and improve readability * 🔧 (aws-weekly.yml): add support for fetching different AWS secrets based on the matrix version (aws or aurora) to improve flexibility and security in accessing database credentials. * 🔧 (aws-weekly.yml): Update the reference to the ephemeral-cloud-infra.yml workflow to use the master branch instead of a specific branch for consistency and stability. Also, adjust the conditions for the aws_postgresql variable to include versions 12, 13, and 14 for better compatibility. * 🔧 (aws-weekly.yml): Update the version of ephemeral-cloud-infra.yml to DAT-17834 for both deploy and destroy jobs to align with the changes made in the referenced file. * 🔧 (aws-weekly.yml): Update conditional statements to fetch AWS secrets based on database platform and version selected during setup. Adjust database cleanup and initialization steps accordingly for MySQL databases on AWS and Aurora. * 🔧 (aws-weekly.yml): Update workflow to use 'needs' instead of 'steps' to access outputs for databasePlatform and databaseVersion to ensure correct conditional execution based on dependencies. 🔧 (aws-weekly.yml): Update references to 'steps.setup.outputs' to 'needs.setup.outputs' to correctly access outputs from previous job steps. * 🔧 (aws-weekly.yml): Refactor GitHub workflow to use 'steps' instead of 'needs' for accessing outputs from previous steps. This ensures correct data retrieval for database platform and version configurations. ⬆️ (aws-weekly.yml): Update references from 'needs.setup.outputs' to 'steps.setup.outputs' to align with workflow changes and improve consistency. * 🔧 (aws-weekly.yml): update job dependencies to include deploy-ephemeral-cloud-infra before test job for proper execution order * 🔧 (aws-weekly.yml): Remove unnecessary database cleanup steps to streamline workflow and improve efficiency 🔧 (aws-weekly.yml): Simplify database initialization steps for different database platforms to enhance maintainability and readability * 🔧 (aws-weekly.yml): refactor workflow to use a matrix for database versions instead of individual conditions for 'aws' and 'aurora' versions * 🔧 (aws-weekly.yml): update liquibase changeLogFile to include "_cloud" suffix for cloud databases to differentiate from regular databases 🔧 (aws-weekly.yml): update liquibase url to use TH_AURORA_MYSQLURL for aurora database version 🔧 (aws-weekly.yml): add new mysql_cloud.sql file with initial SQL scripts for cloud database tables "authors" and "posts" * 🔧 (aws-weekly.yml): Update conditional statements to fetch AWS secrets only for MySQL databases when the version is 'aws' or 'aurora' * 📝 (mssql.sql): add USE lbcat; statement to specify the database to use before executing SQL commands for better clarity and consistency * 📝 (mssql.sql): remove unnecessary USE lbcat; statement and fix DROP TABLE IF EXISTS syntax to improve script readability and maintainability * 🔧 (aws-weekly.yml): Remove redundant database initialization steps for 'aws' and 'aurora' versions to streamline workflow and avoid unnecessary configurations. * 🔧 (aws-weekly.yml): add conditional database initialization step for AWS and Aurora versions using Liquibase * 🔧 (aws-weekly.yml): remove unnecessary database initialization steps for mysql due to mysql driver issue on GitHub actions. * 🔧 (aws-weekly.yml): Remove redundant AWS secrets retrieval steps for MySQL databases and unnecessary comment to streamline workflow and improve readability. * ✨ (aws-weekly.yml): Add a new line to improve readability and maintain consistency in the workflow file 📝 (mssql.sql): Add database creation and switching commands for better database management and setup * test * 🔧 (aws-weekly.yml): add TH_MSSQLURL_HOST secret to support MSSQL host configuration for sqlcmd execution * 🔧 (aws-weekly.yml): update TH_MSSQLURL_HOST secret to include correct resource ID for MSSQL host configuration * 🔧 (aws-weekly.yml): transform TH_MSSQLURL_HOST value to replace colon with comma for sqlcmd connection 🔧 (mssql.sql): remove explicit USE [lbcat] statement as the database is now created dynamically during workflow execution * 🔧 (aws-weekly.yml): simplify sqlcmd command by removing unnecessary variable transformation and echo statements * test * 🔧 (aws-weekly.yml): Update schedule to execute the workflow every Sunday at 4:00 AM instead of 6:00 AM 🔧 (aws-weekly.yml): Update the version of the ephemeral-cloud-infra.yml workflow to DAT-17834 🔧 (aws-weekly.yml): Add support for different database types in the deploy-ephemeral-cloud-infra job 🔧 (aws-weekly.yml): Add permissions for contents read and id-token write in the init-mysql job 🔧 (aws-weekly.yml): Add configuration for different database types in the init-mysql job 🔧 (aws-weekly.yml): Add configuration for different database types in the test job 🔧 (aws-weekly.yml): Add permissions for contents read and id-token write in the test job 🔧 (aws-weekly.yml): Update the configuration to get AWS secrets based on database platform and version in the test job 🔧 (aws-weekly.yml): Update GitHub Action to install a SQL Server suite of tools and run sqlcmd for MSSQL platform 🔧 (aws-weekly.yml): Add conditional logic to destroy ephemeral cloud infrastructure based on specified databases in inputs * 🔧 (aws-weekly.yml): Update workflow to use the main branch for ephemeral-cloud-infra.yml instead of DAT-17834 branch. Remove trailing whitespace. * 🔧 (aws-weekly.yml): Add missing newline characters for better readability and maintainability. * DAT-17834. fix for postgresql aurora failures. * DAT-17834. fix for postgresql aurora failures. --------- Co-authored-by: Pavlo Tytarchuk <ptyta@softserveinc.com>
- Loading branch information