set environment variables conditionally based on dispatch event (#63)

abstract target to environment variable
use input variable for python version
This commit is contained in:
Julius Remigio 2023-10-25 15:08:41 -07:00 committed by GitHub
parent 709609f978
commit 3c297e75fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 21 deletions

View File

@ -20,35 +20,29 @@ on:
env:
DBT_PROFILES_DIR: ./
ACCOUNT: "${{ vars.ACCOUNT }}"
ROLE: "${{ vars.ROLE }}"
USER: "${{ vars.USER }}"
PASSWORD: "${{ secrets.PASSWORD }}"
REGION: "${{ vars.REGION }}"
DATABASE: "${{ vars.DATABASE }}"
WAREHOUSE: "${{ vars.WAREHOUSE }}"
SCHEMA: "${{ vars.SCHEMA }}"
ACCOUNT: ${{ vars.ACCOUNT }}
ROLE: ${{ vars.ROLE }}
USER: ${{ vars.USER }}
PASSWORD: ${{ secrets.PASSWORD }}
REGION: ${{ vars.REGION }}
DATABASE: ${{ vars.DATABASE }}
WAREHOUSE: ${{ vars.WAREHOUSE }}
SCHEMA: ${{ vars.SCHEMA }}
TARGET: ${{ vars.TARGET }}
jobs:
dbt:
dispatched:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
env:
DBT_PROFILES_DIR: ./
ACCOUNT: "${{ vars.ACCOUNT }}"
ROLE: "${{ vars.ROLE }}"
USER: "${{ vars.USER }}"
PASSWORD: "${{ secrets.PASSWORD }}"
REGION: "${{ vars.REGION }}"
DATABASE: "${{ vars.DATABASE }}"
WAREHOUSE: ${{ inputs.warehouse }}
SCHEMA: "${{ vars.SCHEMA }}"
environment:
name: ${{ inputs.environment }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: ${{ inputs.python_version }}
cache: "pip"
- name: install dependencies
run: |
@ -56,8 +50,34 @@ jobs:
dbt deps
- name: Run DBT Jobs
run: |
dbt ${{ inputs.command }} --target ${{ inputs.environment }}
${{ inputs.command }}
- name: Store logs
uses: actions/upload-artifact@v3
with:
name: dbt-logs
path: |
logs
target
not_dispatched:
if: github.event_name != 'workflow_dispatch'
runs-on: ubuntu-latest
environment:
name: ${{ inputs.environment }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ inputs.python_version }}
cache: "pip"
- name: install dependencies
run: |
pip install -r requirements.txt
dbt deps
- name: Run DBT Jobs
run: |
${{ inputs.command }}
- name: Store logs
if: always()
uses: actions/upload-artifact@v3
with:
name: dbt-logs

View File

@ -1,5 +1,5 @@
livequery:
target: dev
target: "{{ env_var('TARGET') }}"
outputs:
dev:
type: snowflake

View File

@ -1 +1 @@
dbt-snowflake~=1.5
dbt-snowflake~=1.5.0