diff --git a/.github/workflows/dbt_ci.yml b/.github/workflows/dbt_ci.yml index 31cd78b..241a1de 100644 --- a/.github/workflows/dbt_ci.yml +++ b/.github/workflows/dbt_ci.yml @@ -20,29 +20,24 @@ jobs: - name: Install dbt run: pip install dbt-snowflake - - name: Create dbt profiles.yml - run: | - mkdir -p ~/.dbt - cat > ~/.dbt/profiles.yml << EOF - ecommerce_dbt: - target: dev - outputs: - dev: - type: snowflake - account: ${{ secrets.SNOWFLAKE_ACCOUNT }} - user: ${{ secrets.SNOWFLAKE_USER }} - password: ${{ secrets.SNOWFLAKE_PASSWORD }} - role: ${{ secrets.SNOWFLAKE_ROLE }} - database: ${{ secrets.SNOWFLAKE_DATABASE }} - warehouse: ${{ secrets.SNOWFLAKE_WAREHOUSE }} - schema: OLIST - threads: 4 - EOF - - name: dbt compile working-directory: ecommerce_dbt - run: dbt compile + env: + SNOWFLAKE_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }} + SNOWFLAKE_USER: ${{ secrets.SNOWFLAKE_USER }} + SNOWFLAKE_PASSWORD: ${{ secrets.SNOWFLAKE_PASSWORD }} + SNOWFLAKE_ROLE: ${{ secrets.SNOWFLAKE_ROLE }} + SNOWFLAKE_DATABASE: ${{ secrets.SNOWFLAKE_DATABASE }} + SNOWFLAKE_WAREHOUSE: ${{ secrets.SNOWFLAKE_WAREHOUSE }} + run: dbt compile --profiles-dir . - name: dbt test working-directory: ecommerce_dbt - run: dbt test \ No newline at end of file + env: + SNOWFLAKE_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }} + SNOWFLAKE_USER: ${{ secrets.SNOWFLAKE_USER }} + SNOWFLAKE_PASSWORD: ${{ secrets.SNOWFLAKE_PASSWORD }} + SNOWFLAKE_ROLE: ${{ secrets.SNOWFLAKE_ROLE }} + SNOWFLAKE_DATABASE: ${{ secrets.SNOWFLAKE_DATABASE }} + SNOWFLAKE_WAREHOUSE: ${{ secrets.SNOWFLAKE_WAREHOUSE }} + run: dbt test --profiles-dir . \ No newline at end of file diff --git a/.github/workflows/dbt_deploy.yml b/.github/workflows/dbt_deploy.yml index 8be0ea3..176d5d0 100644 --- a/.github/workflows/dbt_deploy.yml +++ b/.github/workflows/dbt_deploy.yml @@ -20,29 +20,24 @@ jobs: - name: Install dbt run: pip install dbt-snowflake - - name: Create dbt profiles.yml - run: | - mkdir -p ~/.dbt - cat > ~/.dbt/profiles.yml << EOF - ecommerce_dbt: - target: prod - outputs: - prod: - type: snowflake - account: ${{ secrets.SNOWFLAKE_ACCOUNT }} - user: ${{ secrets.SNOWFLAKE_USER }} - password: ${{ secrets.SNOWFLAKE_PASSWORD }} - role: ${{ secrets.SNOWFLAKE_ROLE }} - database: ${{ secrets.SNOWFLAKE_DATABASE }} - warehouse: ${{ secrets.SNOWFLAKE_WAREHOUSE }} - schema: OLIST - threads: 4 - EOF - - - name: dbt run + - name: dbt compile working-directory: ecommerce_dbt - run: dbt run + env: + SNOWFLAKE_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }} + SNOWFLAKE_USER: ${{ secrets.SNOWFLAKE_USER }} + SNOWFLAKE_PASSWORD: ${{ secrets.SNOWFLAKE_PASSWORD }} + SNOWFLAKE_ROLE: ${{ secrets.SNOWFLAKE_ROLE }} + SNOWFLAKE_DATABASE: ${{ secrets.SNOWFLAKE_DATABASE }} + SNOWFLAKE_WAREHOUSE: ${{ secrets.SNOWFLAKE_WAREHOUSE }} + run: dbt compile --profiles-dir . - name: dbt test working-directory: ecommerce_dbt - run: dbt test \ No newline at end of file + env: + SNOWFLAKE_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }} + SNOWFLAKE_USER: ${{ secrets.SNOWFLAKE_USER }} + SNOWFLAKE_PASSWORD: ${{ secrets.SNOWFLAKE_PASSWORD }} + SNOWFLAKE_ROLE: ${{ secrets.SNOWFLAKE_ROLE }} + SNOWFLAKE_DATABASE: ${{ secrets.SNOWFLAKE_DATABASE }} + SNOWFLAKE_WAREHOUSE: ${{ secrets.SNOWFLAKE_WAREHOUSE }} + run: dbt test --profiles-dir . \ No newline at end of file diff --git a/ecommerce_dbt/profiles.yml b/ecommerce_dbt/profiles.yml new file mode 100644 index 0000000..21904b0 --- /dev/null +++ b/ecommerce_dbt/profiles.yml @@ -0,0 +1,13 @@ +ecommerce_dbt: + target: dev + outputs: + dev: + type: snowflake + account: "{{ env_var('SNOWFLAKE_ACCOUNT') }}" + user: "{{ env_var('SNOWFLAKE_USER') }}" + password: "{{ env_var('SNOWFLAKE_PASSWORD') }}" + role: "{{ env_var('SNOWFLAKE_ROLE', 'ECOMMERCE_DBT_RUNNER') }}" + database: "{{ env_var('SNOWFLAKE_DATABASE', 'ECOMMERCE_BRONZE_DB') }}" + warehouse: "{{ env_var('SNOWFLAKE_WAREHOUSE', 'ECOMMERCE_BRONZE_WH') }}" + schema: OLIST + threads: 4 \ No newline at end of file