mirror of
https://github.com/fsecada01/Pygentic-AI.git
synced 2026-05-11 19:54:59 +00:00
BREAKING: Remove custom action approach (too complex, failing) Issue: Custom action with toJSON(secrets) failing due to: - Special characters in SSH_PRIVATE_KEY - Shell escaping complexity - JSON parsing edge cases Solution: Back to basics - direct env vars in workflow - More verbose but 100% reliable - No shell escaping issues - Standard GitHub Actions pattern - Works with all secret types Trade-off accepted: - Verbose: 25 env var declarations - Reliable: No parsing, no escaping, no failures - Maintainable: Add secrets via 'gh secret set' - Standard: Uses GitHub's native secret injection "Premature optimization is the root of all evil" - Knuth Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
69 lines
2.2 KiB
YAML
69 lines
2.2 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches: [main, dev_deploy]
|
|
pull_request:
|
|
branches: [main, dev_deploy]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.13"]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install uv
|
|
run: |
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
uv sync --group test
|
|
|
|
- name: Run tests
|
|
run: |
|
|
uv run pytest --cov=src --cov-report=xml --cov-report=term
|
|
env:
|
|
PYTHONPATH: src
|
|
TESTING: "true"
|
|
SECRET_KEY: ${{ secrets.SECRET_KEY }}
|
|
DEBUG: ${{ secrets.DEBUG }}
|
|
HTTPS_ONLY: ${{ secrets.HTTPS_ONLY }}
|
|
SERVER_ENV: ${{ secrets.SERVER_ENV }}
|
|
SQL_DIALECT: ${{ secrets.SQL_DIALECT }}
|
|
LOCAL_DB_UN: ${{ secrets.LOCAL_DB_UN }}
|
|
LOCAL_DB_PW: ${{ secrets.LOCAL_DB_PW }}
|
|
LOCAL_DB_DB: ${{ secrets.LOCAL_DB_DB }}
|
|
LOCAL_DB_HOST: ${{ secrets.LOCAL_DB_HOST }}
|
|
LOCAL_DB_PORT: ${{ secrets.LOCAL_DB_PORT }}
|
|
CLOUD_DB_UN: ${{ secrets.CLOUD_DB_UN }}
|
|
CLOUD_DB_PW: ${{ secrets.CLOUD_DB_PW }}
|
|
CLOUD_DB_DB: ${{ secrets.CLOUD_DB_DB }}
|
|
CLOUD_DB_HOST: ${{ secrets.CLOUD_DB_HOST }}
|
|
CLOUD_DB_PORT: ${{ secrets.CLOUD_DB_PORT }}
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
OPENAI_MODEL: ${{ secrets.OPENAI_MODEL }}
|
|
TAVILY_API_KEY: ${{ secrets.TAVILY_API_KEY }}
|
|
REDDIT_CLIENT_ID: ${{ secrets.REDDIT_CLIENT_ID }}
|
|
REDDIT_CLIENT_SECRET: ${{ secrets.REDDIT_CLIENT_SECRET }}
|
|
REDDIT_USER_AGENT: ${{ secrets.REDDIT_USER_AGENT }}
|
|
REDDIT_SUBREDDIT: ${{ secrets.REDDIT_SUBREDDIT }}
|
|
REDDIT_MAX_INSIGHTS: ${{ secrets.REDDIT_MAX_INSIGHTS }}
|
|
REDDIT_MAX_INSIGHT_LENGTH: ${{ secrets.REDDIT_MAX_INSIGHT_LENGTH }}
|
|
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v4
|
|
with:
|
|
file: ./coverage.xml
|
|
fail_ci_if_error: false
|