livequery-base/.github/workflows/dbt.yml
Julius Remigio 3c297e75fb
set environment variables conditionally based on dispatch event (#63)
abstract target to environment variable
use input variable for python version
2023-10-25 15:08:41 -07:00

86 lines
2.0 KiB
YAML

name: dbt
on:
workflow_call:
inputs:
warehouse:
required: false
type: string
default: DBT_CLOUD
environment:
required: true
type: string
command:
required: true
type: string
python_version:
required: false
type: string
default: "3.10"
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 }}
TARGET: ${{ vars.TARGET }}
jobs:
dispatched:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
env:
WAREHOUSE: ${{ inputs.warehouse }}
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
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
path: |
logs
target