diff --git a/.github/workflows/dbt_run_template_vars.yml b/.github/workflows/dbt_run_template_vars.yml new file mode 100644 index 0000000..ef580d7 --- /dev/null +++ b/.github/workflows/dbt_run_template_vars.yml @@ -0,0 +1,86 @@ +name: dbt_run_template + +on: + workflow_call: + inputs: + dbt_command: + type: string + description: 'dbt commands to run' + required: true + environment: + type: string + description: 'github environment to get configuration values' + required: true + warehouse: + type: string + description: 'dbt warehouse' + required: true + +env: + USE_VARS: "${{ vars.USE_VARS }}" + DBT_PROFILES_DIR: "${{ vars.DBT_PROFILES_DIR }}" + + PASSWORD: "${{ secrets.PASSWORD }}" + + DBT_VERSION: "${{ secrets.DBT_VERSION }}" + ACCOUNT: "${{ secrets.ACCOUNT }}" + ROLE: "${{ secrets.ROLE }}" + USER: "${{ secrets.USER }}" + REGION: "${{ secrets.REGION }}" + DATABASE: "${{ secrets.DATABASE }}" + SCHEMA: "${{ secrets.SCHEMA }}" + + WAREHOUSE: "${{ inputs.warehouse }}" + +jobs: + run_dbt_jobs: + runs-on: ubuntu-latest + environment: + name: ${{ inputs.environment }} + + steps: + - name: overwrite env vars + if: ${{ env.USE_VARS == 'TRUE' }} + run: | + echo "DBT_VERSION=${{ vars.DBT_VERSION }}" >> $GITHUB_ENV + echo "ACCOUNT=${{ vars.ACCOUNT }}" >> $GITHUB_ENV + echo "ROLE=${{ vars.ROLE }}" >> $GITHUB_ENV + echo "USER=${{ vars.USER }}" >> $GITHUB_ENV + echo "REGION=${{ vars.REGION }}" >> $GITHUB_ENV + echo "DATABASE=${{ vars.DATABASE }}" >> $GITHUB_ENV + echo "SCHEMA=${{ vars.SCHEMA }}" >> $GITHUB_ENV + + - name: log all env vars + run: | + echo "USE_VARS: $USE_VARS" + echo "DBT_PROFILES_DIR: $DBT_PROFILES_DIR" + + echo "DBT_VERSION: $DBT_VERSION" + echo "ACCOUNT: $ACCOUNT" + echo "ROLE: $ROLE" + echo "USER: $USER" + echo "REGION: $REGION" + echo "DATABASE: $DATABASE" + echo "SCHEMA: $SCHEMA" + echo "WAREHOUSE: $WAREHOUSE" + + - uses: actions/setup-python@v1 + with: + python-version: "3.7.x" + + - name: install dependencies + run: | + pip3 install dbt-snowflake==${{ env.DBT_VERSION }} cli_passthrough requests click + + - name: log dbt debug + run: | + dbt debug + + + - name: dbt dependencies + run: | + dbt deps + + - name: Run DBT Jobs + run: | + ${{ inputs.dbt_command }}