gha tasks

This commit is contained in:
Eric Laurello 2023-11-07 16:09:29 -05:00
parent b97667262a
commit d2cc524e0c
18 changed files with 141 additions and 13 deletions

View File

@ -0,0 +1,46 @@
name: dbt_alter_gha_task
run-name: dbt_alter_gha_task
on:
workflow_dispatch:
branches:
- "main"
inputs:
workflow_name:
type: string
description: Name of the workflow to perform the action on, no .yml extension
required: true
task_action:
type: choice
description: Action to perform
required: true
options:
- SUSPEND
- RESUME
default: SUSPEND
env:
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:
called_workflow_template:
uses: FlipsideCrypto/analytics-workflow-templates/.github/workflows/dbt_alter_gha_tasks.yml@main
with:
workflow_name: |
${{ inputs.workflow_name }}
task_action: |
${{ inputs.task_action }}
environment: workflow_prod
secrets: inherit

View File

@ -28,7 +28,7 @@ jobs:
with:
dbt_command: |
dbt run-operation stage_external_sources --vars "ext_full_refresh: true"
dbt run -s tag:balances tag:daily
dbt run -s "osmosis_models,tag:balances" "osmosis_models,tag:daily"
dbt run-operation stage_external_sources --vars "ext_full_refresh: true"
environment: workflow_prod
warehouse: ${{ vars.WAREHOUSE }}

View File

@ -3,8 +3,8 @@ run-name: dbt_run_incremental
on:
workflow_dispatch:
schedule:
- cron: '25,55 * * * *'
# schedule:
# - cron: '25,55 * * * *'
env:
USE_VARS: "${{ vars.USE_VARS }}"
@ -28,7 +28,7 @@ jobs:
with:
dbt_command: |
dbt run-operation stage_external_sources --vars "ext_full_refresh: true"
dbt run -s ./models --exclude models/silver/_observability models/streamline tag:balances tag:daily
dbt run -s "osmosis_models,./models" --exclude models/silver/_observability models/streamline tag:balances tag:daily
dbt run-operation stage_external_sources --vars "ext_full_refresh: true"
environment: workflow_prod
warehouse: ${{ vars.WAREHOUSE }}

View File

@ -3,9 +3,9 @@ run-name: dbt_run_streamline_blocks_txcount_realtime
on:
workflow_dispatch:
schedule:
# Runs "at minute 25 and 55, every hour" (see https://crontab.guru)
- cron: '0,30 * * * *'
# schedule:
# # Runs "at minute 25 and 55, every hour" (see https://crontab.guru)
# - cron: '0,30 * * * *'
env:
DBT_PROFILES_DIR: ./

View File

@ -3,9 +3,9 @@ run-name: dbt_run_streamline_transactions_realtime
on:
workflow_dispatch:
schedule:
# Runs "at minute 8 and 38, every hour" (see https://crontab.guru)
- cron: '8,38 * * * *'
# schedule:
# # Runs "at minute 8 and 38, every hour" (see https://crontab.guru)
# - cron: '8,38 * * * *'
env:
DBT_PROFILES_DIR: ./

View File

@ -27,7 +27,7 @@ jobs:
uses: FlipsideCrypto/analytics-workflow-templates/.github/workflows/dbt_run_template.yml@main
with:
dbt_command: |
dbt test -m ./models
dbt test -m "osmosis_models,./models"
environment: workflow_prod
warehouse: ${{ vars.WAREHOUSE }}
secrets: inherit

27
.github/workflows/dbt_test_tasks.yml vendored Normal file
View File

@ -0,0 +1,27 @@
name: dbt_test_tasks
run-name: dbt_test_tasks
on:
workflow_dispatch:
branches:
- "main"
env:
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:
called_workflow_template:
uses: FlipsideCrypto/analytics-workflow-templates/.github/workflows/dbt_test_tasks.yml@main
secrets: inherit

View File

@ -0,0 +1,5 @@
workflow_name,workflow_schedule
dbt_run_incremental,"25,55 * * * *"
dbt_run_streamline_blocks_txcount_realtime,"0,30 * * * *"
dbt_run_streamline_transactions_realtime,"8,38 * * * *"
dbt_test_tasks,"0,30 * * * *"
1 workflow_name workflow_schedule
2 dbt_run_incremental 25,55 * * * *
3 dbt_run_streamline_blocks_txcount_realtime 0,30 * * * *
4 dbt_run_streamline_transactions_realtime 8,38 * * * *
5 dbt_test_tasks 0,30 * * * *

View File

@ -48,6 +48,7 @@ vars:
STREAMLINE_RUN_HISTORY: False
UPDATE_UDFS_AND_SPS: False
UPDATE_SNOWFLAKE_TAGS: True
START_GHA_TASKS: False
tests:
+store_failures: true # all tests

View File

@ -0,0 +1,6 @@
{{ config(
materialized = 'view',
tags = ['gha_tasks']
) }}
{{ fsc_utils.gha_task_current_status_view() }}

View File

@ -0,0 +1,17 @@
version: 2
models:
- name: github_actions__current_task_status
columns:
- name: PIPELINE_ACTIVE
tests:
- dbt_expectations.expect_column_values_to_be_in_set:
value_set:
- TRUE
- name: SUCCESSES
tests:
- dbt_expectations.expect_column_values_to_be_in_set:
value_set:
- 204
config:
severity: warn
warn_if: ">0"

View File

@ -0,0 +1,5 @@
{{ config(
materialized = 'view'
) }}
{{ fsc_utils.gha_task_history_view() }}

View File

@ -0,0 +1,5 @@
{{ config(
materialized = 'view'
) }}
{{ fsc_utils.gha_task_performance_view() }}

View File

@ -0,0 +1,5 @@
{{ config(
materialized = 'view'
) }}
{{ fsc_utils.gha_task_schedule_view() }}

View File

@ -0,0 +1,5 @@
{{ config(
materialized = 'view'
) }}
{{ fsc_utils.gha_tasks_view() }}

View File

@ -55,4 +55,9 @@ sources:
- name: bronze
schema: bronze
tables:
- name: chainwalkers_txs
- name: chainwalkers_txs
- name: github_actions
database: osmosis
schema: github_actions
tables:
- name: workflows

View File

@ -6,6 +6,6 @@ packages:
- package: dbt-labs/dbt_external_tables
version: 0.8.0
- git: https://github.com/FlipsideCrypto/fsc-utils.git
revision: "v1.3.0"
revision: "v1.11.0"
- package: get-select/dbt_snowflake_query_tags
version: [">=2.0.0", "<3.0.0"]

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
dbt-snowflake>=1.4,<1.5