name: dbt_run_scheduled_daily run-name: dbt_run_scheduled_daily on: schedule: # Runs 00:35 daily (see https://crontab.guru) - cron: '35 0 * * *' 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 silver__daily_signers.sql+ dbt run -s models/silver/nfts/silver__nft_mints.sql --full-refresh dbt run-operation run_sp_snapshot_get_stake_accounts dbt run -s models/bronze/bronze__stake_program_accounts.sql dbt run -s models/silver/validator/silver__snapshot_validators_app_data.sql models/silver/validator/silver__snapshot_vote_accounts.sql models/silver/validator/silver__snapshot_vote_accounts_extended_stats.sql dbt run -s "solana_models,tag:nft_api" dbt run -s "solana_models,tag:daily" notify-failure: needs: [run_dbt_jobs] if: failure() uses: ./.github/workflows/slack_notify.yml secrets: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}