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

Use LocalStack for Snowflake emulation in CI builds #1

Closed
wants to merge 24 commits into from
Closed

Conversation

whummer
Copy link
Owner

@whummer whummer commented Feb 6, 2024

Copy of upstream PR, to reproduce build issue: liquibase#726

jandroav and others added 23 commits January 26, 2024 15:07
…g purposes

feat(snowflake.yml): add setup for Python 3.11.5 and configure LocalStack for testing
feat(snowflake.yml): install localstack-extension-snowflake and localstack-pro docker image
feat(snowflake.yml): wait for LocalStack startup and set environment variables for testing
feat(snowflake.yml): update Maven command to use dynamic dbName and dbUrl for testing
…/snowflake.localhost.localstack.cloud" to "jdbc:snowflake://snowflake.localhost.localstack.cloud" to use the correct JDBC connection protocol
…kflow

feat(snowflake.yml): update liquibase-github-action to version 7 for better compatibility and functionality
feat(snowflake.yml): add environment variable TH_SNOW_URL to store the Snowflake database URL

feat(snowflake.yml): update liquibase-github-action step to use environment variables for username, password, and URL

chore(snowflake.yml): update Snowflake Test Run step to use environment variables for database admin, username, password, and URL
…re that the localstack-extension-snowflake is installed after starting LocalStack

feat(snowflake.yml): add environment variables TH_DB_ADMIN, TH_DB_PASSWD, and TH_DB to the GitHub environment to configure the Snowflake database connection
…e the correct port number (4566) for the Snowflake database connection
…r localstack connection

The TH_SNOW_URL value in the snowflake.yml file was updated to include the http protocol for the localstack connection. This change was made to ensure that the connection to the localstack instance is established correctly.
…imeout to avoid potential issues with startup time

feat(snowflake.yml): add installation of localstack-extension-snowflake to enable Snowflake support in LocalStack
…ty with the project

chore(snowflake.yml): add DEBUG=1 flag to localstack start command for debugging purposes
…ble to the test job to provide the Liquibase Pro license key

feat(snowflake.yml): install Liquibase during the test job to enable running Liquibase commands
fix(snowflake.yml): update the Status step to use the 'liquibase update' command instead of the liquibase/liquibase-github-action
fix(snowflake.yml): remove unnecessary LIQUIBASE_PRO_LICENSE_KEY environment variable from the Snowflake Test Run step
…race logging in LocalStack

chore(snowflake.yml): update job name from "Status" to "Update" for clarity
…se-github-action@v7 for better compatibility and maintainability
…ment variable

chore(snowflake.yml): update Snowflake Test Run step to use liquibase command instead of maven command for better consistency and simplicity
The Liquibase update step was removed as it is no longer needed for the Snowflake workflow.
…ment variables for URL, username, and password

test(snowflake.yml): update Maven command to include new environment variables for database configuration
…bug logging for troubleshooting test failures
…able name to match secrets configuration

fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to match secrets configuration
fix(snowflake.yml): update LIQUIBASE_PRO_LICENSE_KEY environment variable name to
…angelog* tables in the script to improve readability and maintainability
…ripts for Snowflake

The SQL scripts for adding a column and adding a foreign key constraint were updated to use the correct table and column references. The previous references were using a mix of uppercase and lowercase letters, which caused issues in Snowflake. The updated scripts now use consistent lowercase table and column names, enclosed in double quotes to ensure case sensitivity. This change ensures that the SQL scripts will work correctly in Snowflake.
…lic" schema for consistency and improve readability

The table and sequence names in the `createPackage.xml`, `createPackageBody.xml`, `alterSequence.sql`, `createPackage.sql`, `createPackageBody.sql`, `createSequence.sql`, `dropFunction.sql`, `dropSequence.sql`, `renameSequence.sql`, and `valueSequenceNext.sql` files were changed to use the lowercase "public" schema instead of the uppercase "PUBLIC" schema. This change was made to improve consistency and readability in the Liquibase change scripts.
@whummer whummer changed the title Dat 16713 Use LocalStack for Snowflake emulation in CI builds Feb 6, 2024
@whummer whummer added the sdou label Feb 6, 2024
@whummer whummer closed this May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants