heystreamer/.github/workflows/ci.yml
Bashy c46f2f2fc3 Add README, CLAUDE.md, INSTRUCTIONS.md, and CI workflow
- README.md: feature list, stack, project structure, deferred items
- CLAUDE.md: architecture, conventions, route map, CSS variable system,
  EventSub subscription table, data model, custom event names
- INSTRUCTIONS.md: step-by-step initial deploy guide (Twitch app
  registration through OBS setup and custom CSS/JS), plus git workflow,
  first push, GitHub Actions, branching, and update procedure
- .github/workflows/ci.yml: syntax check and import check on every push

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 23:58:23 +03:00

50 lines
1.3 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Syntax check
run: |
python3 -c "
import ast, sys, pathlib
errors = []
for f in pathlib.Path('app').rglob('*.py'):
try:
ast.parse(f.read_text())
except SyntaxError as e:
errors.append(f'{f}: {e}')
if errors:
for e in errors: print('SYNTAX ERROR:', e)
sys.exit(1)
files = list(pathlib.Path('app').rglob('*.py'))
print(f'All {len(files)} Python files OK')
"
- name: Import check
run: python -c "from app.main import app; print('App import OK')"
env:
DATABASE_URL: sqlite:///./test.db
SECRET_KEY: ci-test-secret-not-real
TWITCH_CLIENT_ID: ci-placeholder
TWITCH_CLIENT_SECRET: ci-placeholder
TWITCH_REDIRECT_URI: http://localhost:8000/auth/callback
APP_BASE_URL: http://localhost:8000