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 }}