name: dbt_observability_models run-name: dbt_observability_models on: workflow_dispatch: schedule: # Runs "4 times per day" (see https://crontab.guru) - cron: "0 0,6,12,18 * * *" env: USE_VARS: "${{ vars.USE_VARS }}" DBT_PROFILES_DIR: "${{ vars.DBT_PROFILES_DIR }}" DBT_VERSION: "${{ vars.DBT_VERSION }}" ACCOUNT: "${{ vars.ACCOUNT }}" ROLE: "${{ vars.ROLE }}" USER: "${{ vars.USER }}" PASSWORD: "${{ secrets.PASSWORD }}" REGION: "${{ vars.REGION }}" DATABASE: "${{ vars.DATABASE }}" WAREHOUSE: "${{ vars.WAREHOUSE }}" SCHEMA: "${{ vars.SCHEMA }}" BITQUERY_API_KEY: "${{ secrets.BITQUERY_API_KEY }}" concurrency: group: ${{ github.workflow }} jobs: run_dbt_jobs: runs-on: ubuntu-latest environment: name: workflow_prod steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: "3.10" cache: "pip" - name: install dependencies run: | pip install -r requirements.txt dbt deps - name: Run DBT Jobs - Bitquery getBlockTxCount and Observability models run: | dbt run -s tag:observability --vars 'BITQUERY_API_KEY: ${{ secrets.BITQUERY_API_KEY }}' - name: Store logs uses: actions/upload-artifact@v4 with: name: dbt-logs path: | logs target notify-failure: needs: [run_dbt_jobs] if: failure() uses: ./.github/workflows/slack_notify.yml secrets: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}