Skip to content

Fix actions

Fix actions #7

name: Deploy to Snowflake
on:
push:
branches:
- prod
paths:
- "src/**"
jobs:
deploy:
runs-on: ubuntu-latest
environment: ${{ github.ref_name }}
env:
ACCOUNT: ${{ vars.SNOWFLAKE_ACCOUNT }}
USER_NAME: ${{ vars.SNOWFLAKE_USER }}
PASSWORD: ${{ secrets.SNOWFLAKE_PWD }}
ROLE: ${{ vars.SNOWFLAKE_ROLE }}
DATABASE: ${{ vars.SNOWFLAKE_DATABASE }}
SCHEMA: ${{ vars.SNOWFLAKE_SCHEMA }}
WAREHOUSE: ${{ vars.SNOWFLAKE_WAREHOUSE }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
- name: Install dependencies
run: |
poetry install
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v37
- name: Deploy to Snowflake
run: |
cd src
IFS=$'\n'
for file in ${{ steps.changed-files.outputs.all_modified_files }}; do
dir=$(dirname $file)
component_type=$(basename $dir)
case $component_type in
task)
poetry run snowdev deploy --task $dir || continue
;;
streamlit)
poetry run snowdev deploy --streamlit $dir || continue
;;
udf)
poetry run snowdev deploy --udf $dir || continue
;;
sproc)
poetry run snowdev deploy --sproc $dir || continue
;;
esac
done
continue-on-error: true