version: '3.8'

services:
  dbt_fansifter_shopify:
    build:
      context: .
      target: deploy
    volumes:
      - .:/var/app

  lint-and-test:
    build:
      context: .
      target: lint-and-test
    environment:
      DBT_PROFILES_DIR: profiles/snowflake_auth
      SNOWFLAKE_ACCOUNT: ${SNOWFLAKE_ACCOUNT}
      SNOWFLAKE_USER: ${SNOWFLAKE_USER}
      SNOWFLAKE_ROLE: ${SNOWFLAKE_ROLE}
      SNOWFLAKE_DATABASE: ${SNOWFLAKE_DATABASE}
      SNOWFLAKE_SCHEMA: ${SNOWFLAKE_SCHEMA}
      SNOWFLAKE_WAREHOUSE: ${SNOWFLAKE_WAREHOUSE}
      SNOWFLAKE_PRIVATE_KEY: ${SNOWFLAKE_PRIVATE_KEY}
      SNOWFLAKE_PRIVATE_KEY_PASSPHRASE: ${SNOWFLAKE_PRIVATE_KEY_PASSPHRASE}
      DBT_SELECT_MODELS: ${DBT_SELECT_MODELS}
      DBT_FULL_REFRESH: ${DBT_FULL_REFRESH}
    volumes:
      - .:/var/app

  dbt-test:
    build:
      context: .
      target: dbt-test
    environment:
      DBT_PROFILES_DIR: profiles/snowflake_auth
      SNOWFLAKE_ACCOUNT: ${SNOWFLAKE_ACCOUNT}
      SNOWFLAKE_USER: ${SNOWFLAKE_USER}
      SNOWFLAKE_ROLE: ${SNOWFLAKE_ROLE}
      SNOWFLAKE_DATABASE: ${SNOWFLAKE_DATABASE}
      SNOWFLAKE_SCHEMA: ${SNOWFLAKE_SCHEMA}
      SNOWFLAKE_WAREHOUSE: ${SNOWFLAKE_WAREHOUSE}
      SNOWFLAKE_PRIVATE_KEY: ${SNOWFLAKE_PRIVATE_KEY}
      SNOWFLAKE_PRIVATE_KEY_PASSPHRASE: ${SNOWFLAKE_PRIVATE_KEY_PASSPHRASE}
      DBT_TARGET: ${DBT_TARGET}
    volumes:
      - .:/var/app
