Merge branch 'github-actions-ci' into dave-test-ci

This commit is contained in:
Dave Connors
2023-02-15 23:06:13 -06:00
2 changed files with 127 additions and 0 deletions

61
.github/profiles.yml vendored Normal file
View File

@@ -0,0 +1,61 @@
# HEY! This file is used in the integration tests with CircleCI.
# You should __NEVER__ check credentials into version control. Thanks for reading :)
config:
send_anonymous_usage_stats: False
use_colors: True
integration_tests:
target: postgres
outputs:
postgres:
type: postgres
host: "{{ env_var('POSTGRES_TEST_HOST') }}"
user: "{{ env_var('POSTGRES_TEST_USER') }}"
pass: "{{ env_var('POSTGRES_TEST_PASS') }}"
port: "{{ env_var('POSTGRES_TEST_PORT') | as_number }}"
dbname: "{{ env_var('POSTGRES_TEST_DBNAME') }}"
schema: dbt_project_evaluator_integration_tests_postgres
threads: 5
redshift:
type: redshift
host: "{{ env_var('REDSHIFT_TEST_HOST') }}"
user: "{{ env_var('REDSHIFT_TEST_USER') }}"
pass: "{{ env_var('REDSHIFT_TEST_PASS') }}"
dbname: "{{ env_var('REDSHIFT_TEST_DBNAME') }}"
port: "{{ env_var('REDSHIFT_TEST_PORT') | as_number }}"
schema: dbt_project_evaluator_integration_tests_redshift
threads: 5
bigquery:
type: bigquery
method: service-account
keyfile: "{{ env_var('BIGQUERY_SERVICE_KEY_PATH') }}"
project: "{{ env_var('BIGQUERY_TEST_DATABASE') }}"
schema: dbt_project_evaluator_integration_tests_bigquery
threads: 10
snowflake:
type: snowflake
account: "{{ env_var('SNOWFLAKE_TEST_ACCOUNT') }}"
user: "{{ env_var('SNOWFLAKE_TEST_USER') }}"
password: "{{ env_var('SNOWFLAKE_TEST_PASSWORD') }}"
role: "{{ env_var('SNOWFLAKE_TEST_ROLE') }}"
database: "{{ env_var('SNOWFLAKE_TEST_DATABASE') }}"
warehouse: "{{ env_var('SNOWFLAKE_TEST_WAREHOUSE') }}"
schema: dbt_project_evaluator_integration_tests_snowflake
threads: 10
databricks:
type: databricks
schema: dbt_project_evaluator_integration_tests_databricks
host: "{{ env_var('DATABRICKS_TEST_HOST') }}"
http_path: "{{ env_var('DATABRICKS_TEST_HTTP_PATH') }}"
token: "{{ env_var('DATABRICKS_TEST_ACCESS_TOKEN') }}"
threads: 10
duckdb:
type: duckdb
path: ./duck.db

View File

@@ -0,0 +1,66 @@
name: "dbt Package CI tests"
'on':
pull_request:
branches:
# - main
- github-actions-ci
jobs:
dbt-package-ci-test:
name: Run CI tests
runs-on: ubuntu-latest
env:
DBT_PROFILES_DIR: /home/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/.github
POSTGRES_TEST_HOST: ${{ secrets.POSTGRES_TEST_HOST }}
POSTGRES_TEST_USER: ${{ secrets.POSTGRES_TEST_USER }}
POSTGRES_TEST_PASS: ${{ secrets.POSTGRES_TEST_PASS }}
POSTGRES_TEST_PORT: ${{ secrets.POSTGRES_TEST_PORT }}
POSTGRES_TEST_DBNAME: ${{ secrets.POSTGRES_TEST_DBNAME }}
REDSHIFT_TEST_HOST: ${{ secrets.REDSHIFT_TEST_HOST }}
REDSHIFT_TEST_USER: ${{ secrets.REDSHIFT_TEST_USER }}
REDSHIFT_TEST_PASS: ${{ secrets.REDSHIFT_TEST_PASS }}
REDSHIFT_TEST_DBNAME: ${{ secrets.REDSHIFT_TEST_DBNAME }}
REDSHIFT_TEST_PORT: ${{ secrets.REDSHIFT_TEST_PORT }}
BIGQUERY_SERVICE_KEY_PATH: ${{ secrets.BIGQUERY_SERVICE_KEY_PATH }}
BIGQUERY_TEST_DATABASE: ${{ secrets.BIGQUERY_TEST_DATABASE }}
SNOWFLAKE_TEST_ACCOUNT: ${{ secrets.SNOWFLAKE_TEST_ACCOUNT }}
SNOWFLAKE_TEST_USER: ${{ secrets.SNOWFLAKE_TEST_USER }}
SNOWFLAKE_TEST_PASSWORD: ${{ secrets.SNOWFLAKE_TEST_PASSWORD }}
SNOWFLAKE_TEST_ROLE: ${{ secrets.SNOWFLAKE_TEST_ROLE }}
SNOWFLAKE_TEST_DATABASE: ${{ secrets.SNOWFLAKE_TEST_DATABASE }}
SNOWFLAKE_TEST_WAREHOUSE: ${{ secrets.SNOWFLAKE_TEST_WAREHOUSE }}
DATABRICKS_TEST_HOST: ${{ secrets.DATABRICKS_TEST_HOST }}
DATABRICKS_TEST_HTTP_PATH: ${{ secrets.DATABRICKS_TEST_HTTP_PATH }}
DATABRICKS_TEST_ACCESS_TOKEN: ${{ secrets.DATABRICKS_TEST_ACCESS_TOKEN }}
steps:
- name: Checkout branch
uses: actions/checkout@v2
# docs on this postgres image are here: https://github.com/marketplace/actions/setup-postgresql-for-linux-macos-windows
- name: Setup Postgres
uses: ikalnytskyi/action-setup-postgres@v4
- name: Test Postgres
run: ./run_test.sh postgres
- name: Test Duckdb
run: ./run_test.sh duckdb
- name: Test Redshift
run: ./run_test.sh redshift
- name: Test Bigquery
run: ./run_test.sh bigquery
- name: Test Snowflake
run: ./run_test.sh snowflake
- name: Test Databricks
run: ./run_test.sh databricks