fsc-evm/.github/workflows/dbt_run_template_dev_refresh.yml
2026-01-13 15:29:46 -05:00

115 lines
4.0 KiB
YAML

name: dbt_run_template_dev_refresh
on:
workflow_call:
jobs:
run_dbt_jobs_refresh:
runs-on: ubuntu-latest
environment:
name: workflow_secrets
steps:
- uses: actions/checkout@v3
- name: Extract project & profile names from dbt_project.yml
id: project-name
run: |
PROFILE_NAME=$(grep "^profile:" dbt_project.yml | sed 's/^profile:[[:space:]]*"//' | sed 's/".*$//')
PROJECT_NAME=$(grep "^name:" dbt_project.yml | sed 's/^name:[[:space:]]*"//' | sed 's/".*$//')
echo "PROFILE_NAME=$PROFILE_NAME" >> $GITHUB_ENV
echo "PROJECT_NAME=$PROJECT_NAME" >> $GITHUB_ENV
echo "PROFILE_NAME: $PROFILE_NAME"
echo "PROJECT_NAME: $PROJECT_NAME"
- name: Set production environment variables
run: |
echo "TARGET=prod" >> $GITHUB_ENV
echo "ACCOUNT=vna27887.us-east-1" >> $GITHUB_ENV
echo "REGION=us-east-1" >> $GITHUB_ENV
echo "SCHEMA=ADMIN" >> $GITHUB_ENV
echo "DATABASE=$PROFILE_NAME" >> $GITHUB_ENV
echo "ROLE=DBT_CLOUD_$PROFILE_NAME" >> $GITHUB_ENV
echo "USER=DBT_CLOUD_$PROFILE_NAME" >> $GITHUB_ENV
echo "WAREHOUSE=DBT_CLOUD" >> $GITHUB_ENV
echo "PASSWORD=${{ secrets.PASSWORD }}" >> $GITHUB_ENV
- uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: "pip"
- name: Configure git for internal repos
run: git config --global url."https://x-access-token:${{ secrets.GH_INTERNAL_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Install dependencies
run: |
pip install -r requirements.txt
dbt deps
- name: Run Dev Refresh
run: |
dbt run-operation fsc_evm.run_sp_create_prod_clone
notify-failure:
needs: [run_dbt_jobs_refresh]
if: failure()
uses: ./.github/workflows/slack_notify.yml
secrets:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
run_dbt_jobs_udfs:
runs-on: ubuntu-latest
needs: run_dbt_jobs_refresh
environment:
name: workflow_secrets
steps:
- uses: actions/checkout@v3
- name: Extract project & profile names from dbt_project.yml
id: project-name
run: |
PROFILE_NAME=$(grep "^profile:" dbt_project.yml | sed 's/^profile:[[:space:]]*"//' | sed 's/".*$//')
PROJECT_NAME=$(grep "^name:" dbt_project.yml | sed 's/^name:[[:space:]]*"//' | sed 's/".*$//')
echo "PROFILE_NAME=$PROFILE_NAME" >> $GITHUB_ENV
echo "PROJECT_NAME=$PROJECT_NAME" >> $GITHUB_ENV
echo "PROFILE_NAME: $PROFILE_NAME"
echo "PROJECT_NAME: $PROJECT_NAME"
- name: Set dev environment variables
run: |
echo "TARGET=dev" >> $GITHUB_ENV
echo "ACCOUNT=vna27887.us-east-1" >> $GITHUB_ENV
echo "REGION=us-east-1" >> $GITHUB_ENV
echo "SCHEMA=ADMIN" >> $GITHUB_ENV
echo "DATABASE=${PROFILE_NAME}_DEV" >> $GITHUB_ENV
echo "ROLE=INTERNAL_DEV" >> $GITHUB_ENV
echo "USER=DBT_CLOUD_$PROFILE_NAME" >> $GITHUB_ENV
echo "WAREHOUSE=DBT" >> $GITHUB_ENV
echo "PASSWORD=${{ secrets.PASSWORD }}" >> $GITHUB_ENV
- uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: "pip"
- name: Configure git for internal repos
run: git config --global url."https://x-access-token:${{ secrets.GH_INTERNAL_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Install dependencies
run: |
pip install -r requirements.txt
dbt deps
- name: Run Recreate UDFs
run: |
dbt run-operation fsc_evm.create_evm_streamline_udfs --vars '{"UPDATE_UDFS_AND_SPS":True}' -t dev
dbt run -s livequery_models.deploy.core --vars '{"UPDATE_UDFS_AND_SPS":True}' -t dev
notify-failure-2:
needs: [run_dbt_jobs_udfs]
if: failure()
uses: ./.github/workflows/slack_notify.yml
secrets:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}