name: dbt_run_streamline_validator_metadata_snapshot
run-name: dbt_run_streamline_validator_metadata_snapshot

on:
  workflow_dispatch:
  schedule:
    # Runs 01:22 daily (see https://crontab.guru)
    - cron: '22 1 * * *'
    
env:
  DBT_PROFILES_DIR: "${{ vars.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 }}"

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: "${{ vars.PYTHON_VERSION }}"
          cache: "pip"

      - name: install dependencies
        run: |
          pip install -r requirements.txt
          dbt deps
      - name: Run DBT Jobs
        run: |
          dbt run -s "solana_models,streamline__validator_metadata_2" --vars '{"STREAMLINE_INVOKE_STREAMS": True}'

  notify-failure:
    needs: [run_dbt_jobs]
    if: failure()
    uses: ./.github/workflows/slack_notify.yml
    secrets:
      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
