mirror of
https://github.com/FlipsideCrypto/fsc-evm.git
synced 2026-02-06 14:16:46 +00:00
87 lines
2.8 KiB
YAML
87 lines
2.8 KiB
YAML
name: dbt_run_template
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
warehouse:
|
|
required: false
|
|
type: string
|
|
default: DBT_CLOUD
|
|
target:
|
|
required: false
|
|
type: string
|
|
default: dev
|
|
command:
|
|
required: true
|
|
type: string
|
|
python_version:
|
|
required: false
|
|
type: string
|
|
default: "3.10"
|
|
|
|
jobs:
|
|
run_dbt_jobs:
|
|
runs-on: ubuntu-latest
|
|
environment:
|
|
name: workflow_secrets
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Extract project & profile names from dbt_project.yml
|
|
id: project-name
|
|
run: |
|
|
PROFILE_NAME=$(grep "^profile:" dbt_project.yml | sed 's/^profile:[[:space:]]*"//' | sed 's/".*$//')
|
|
PROJECT_NAME=$(grep "^name:" dbt_project.yml | sed 's/^name:[[:space:]]*"//' | sed 's/".*$//')
|
|
echo "PROFILE_NAME=$PROFILE_NAME" >> $GITHUB_ENV
|
|
echo "PROJECT_NAME=$PROJECT_NAME" >> $GITHUB_ENV
|
|
echo "PROFILE_NAME: $PROFILE_NAME"
|
|
echo "PROJECT_NAME: $PROJECT_NAME"
|
|
|
|
- name: Set environment variables
|
|
run: |
|
|
echo "TARGET=${{ inputs.target }}" >> $GITHUB_ENV
|
|
echo "ACCOUNT=vna27887.us-east-1" >> $GITHUB_ENV
|
|
echo "REGION=us-east-1" >> $GITHUB_ENV
|
|
echo "SCHEMA=ADMIN" >> $GITHUB_ENV
|
|
echo "USER=DBT_CLOUD_$PROFILE_NAME" >> $GITHUB_ENV
|
|
echo "PASSWORD=${{ secrets.PASSWORD }}" >> $GITHUB_ENV
|
|
|
|
if [[ "${{ inputs.target }}" == *"prod"* ]]; then
|
|
echo "DATABASE=$PROFILE_NAME" >> $GITHUB_ENV
|
|
echo "ROLE=DBT_CLOUD_$PROFILE_NAME" >> $GITHUB_ENV
|
|
echo "WAREHOUSE=${{ inputs.warehouse }}" >> $GITHUB_ENV
|
|
elif [[ "${{ inputs.target }}" == *"test"* ]]; then
|
|
echo "DATABASE=$PROFILE_NAME" >> $GITHUB_ENV
|
|
echo "ROLE=DBT_CLOUD_$PROFILE_NAME" >> $GITHUB_ENV
|
|
echo "WAREHOUSE=DBT_TEST" >> $GITHUB_ENV
|
|
else
|
|
echo "DATABASE=${PROFILE_NAME}_DEV" >> $GITHUB_ENV
|
|
echo "ROLE=INTERNAL_DEV" >> $GITHUB_ENV
|
|
echo "WAREHOUSE=${{ inputs.warehouse }}" >> $GITHUB_ENV
|
|
fi
|
|
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ inputs.python_version }}
|
|
cache: "pip"
|
|
|
|
- name: Configure git for internal repos
|
|
run: git config --global url."https://x-access-token:${{ secrets.GH_INTERNAL_TOKEN }}@github.com/".insteadOf "https://github.com/"
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
pip install -r requirements.txt
|
|
dbt deps
|
|
|
|
- name: Run DBT Jobs
|
|
run: |
|
|
${{ inputs.command }}
|
|
|
|
- name: Store logs
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: dbt-logs
|
|
path: |
|
|
logs
|
|
target |