update cicd & philosophy

This commit is contained in:
Deeman
2026-02-18 16:11:56 +01:00
parent 2748c606e9
commit 910424c956
2 changed files with 193 additions and 41 deletions

View File

@@ -31,6 +31,8 @@ workflow:
# - uv sync
# - uv run ruff check .
# --- Data platform ---
test:cli:
stage: test
before_script:
@@ -38,6 +40,11 @@ test:cli:
script:
- uv sync
- uv run pytest tests
rules:
- changes:
- src/**/*
- tests/**/*
- pyproject.toml
test:sqlmesh:
stage: test
@@ -46,3 +53,59 @@ test:sqlmesh:
script:
- uv sync
- cd transform/sqlmesh_materia && uv run sqlmesh test
rules:
- changes:
- transform/**/*
# --- Web app ---
test:web:
stage: test
before_script:
- *uv_setup
script:
- uv sync
- cd web && uv run pytest tests/ -x -q
- cd web && uv run ruff check src/ tests/
rules:
- changes:
- web/**/*
#deploy:web:
# stage: deploy
# image: alpine:latest
# needs: [test:web]
# rules:
# - if: $CI_COMMIT_BRANCH == "master"
# changes:
# - web/**/*
# before_script:
# - apk add --no-cache openssh-client
# - eval $(ssh-agent -s)
# - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
# - mkdir -p ~/.ssh
# - chmod 700 ~/.ssh
# - echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts
# script:
# - |
# ssh "$DEPLOY_USER@$DEPLOY_HOST" "cat > /opt/beanflows/beanflows/.env" << ENVEOF
# APP_NAME=$APP_NAME
# SECRET_KEY=$SECRET_KEY
# BASE_URL=$BASE_URL
# DEBUG=false
# ADMIN_PASSWORD=$ADMIN_PASSWORD
# DATABASE_PATH=data/app.db
# MAGIC_LINK_EXPIRY_MINUTES=${MAGIC_LINK_EXPIRY_MINUTES:-15}
# SESSION_LIFETIME_DAYS=${SESSION_LIFETIME_DAYS:-30}
# RESEND_API_KEY=$RESEND_API_KEY
# EMAIL_FROM=${EMAIL_FROM:-hello@example.com}
# ADMIN_EMAIL=${ADMIN_EMAIL:-}
# RATE_LIMIT_REQUESTS=${RATE_LIMIT_REQUESTS:-100}
# RATE_LIMIT_WINDOW=${RATE_LIMIT_WINDOW:-60}
# PADDLE_API_KEY=$PADDLE_API_KEY
# PADDLE_WEBHOOK_SECRET=$PADDLE_WEBHOOK_SECRET
# PADDLE_PRICE_STARTER=$PADDLE_PRICE_STARTER
# PADDLE_PRICE_PRO=$PADDLE_PRICE_PRO
# ENVEOF
# - ssh "$DEPLOY_USER@$DEPLOY_HOST" "chmod 600 /opt/beanflows/beanflows/.env"
# - ssh "$DEPLOY_USER@$DEPLOY_HOST" "cd /opt/beanflows && git pull origin master && ./deploy.sh"