gha tasks

This commit is contained in:
Eric Laurello 2023-11-10 11:43:31 -05:00
parent 53c4a5bbe9
commit 1ec10f03f2
15 changed files with 134 additions and 7 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

@ -3,9 +3,9 @@ run-name: dbt_run_scheduled
on:
workflow_dispatch:
schedule:
# Runs "every 10 minutes, 5 mins after the realtime job
- cron: "5,15,25,35,45,55 * * * *"
# schedule:
# # Runs "every 10 minutes, 5 mins after the realtime job
# - cron: "5,15,25,35,45,55 * * * *"
env:
USE_VARS: "${{ vars.USE_VARS }}"

View File

@ -3,9 +3,9 @@ run-name: dbt_run_streamline_realtime
on:
workflow_dispatch:
schedule:
# Runs every 10 minutes
- cron: "0,10,20,30,40,50 * * * *"
# schedule:
# # Runs every 10 minutes
# - cron: "0,10,20,30,40,50 * * * *"
env:
USE_VARS: "${{ vars.USE_VARS }}"

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,4 @@
workflow_name,workflow_schedule
dbt_run_scheduled,"5,15,25,35,45,55 * * * *"
dbt_run_streamline_realtime,"0,10,20,30,40,50 * * * *"
dbt_test_tasks,"0,30 * * * *"
1 workflow_name workflow_schedule
2 dbt_run_scheduled 5,15,25,35,45,55 * * * *
3 dbt_run_streamline_realtime 0,10,20,30,40,50 * * * *
4 dbt_test_tasks 0,30 * * * *

View File

@ -48,6 +48,7 @@ vars:
UPDATE_SNOWFLAKE_TAGS: True
WAIT: 0
OBSERV_FULL_TEST: False
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,16 @@
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:
- 2
config:
severity: warn

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

@ -24,3 +24,9 @@ sources:
schema: silver
tables:
- name: number_sequence
- name: github_actions
database: aurora
schema: github_actions
tables:
- name: workflows

View File

@ -2,6 +2,6 @@ packages:
- package: calogica/dbt_expectations
version: [">=0.4.0", "<0.9.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