feat: smart chat follow-ups + UTF-8 config fix #22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| inputs: | |
| run_browser_live_tests: | |
| description: "Run Playwright browser/live tests" | |
| required: false | |
| type: boolean | |
| default: false | |
| jobs: | |
| lint-python: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - run: pip install ruff | |
| - run: ruff check src/ tests/ | |
| test-python-guards: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - run: pip install -e ".[web,dev]" | |
| - run: pytest -q tests/test_graphify_postpass.py tests/test_components.py -k "scan_delegates or scan_intent_routes or monitor_contract" | |
| test-python: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - run: pip install -e ".[web,dev]" | |
| - run: pytest tests/test_components.py tests/test_advanced.py tests/test_graphify_postpass.py -v --ignore=tests/test_integration.py | |
| test-browser-live: | |
| if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.run_browser_live_tests == 'true' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - run: pip install -e ".[web,dev]" | |
| - run: cp config.example.yaml config.yaml | |
| - run: python -m playwright install --with-deps chromium | |
| - run: pytest tests/test_integration.py tests/test_portal_flow.py tests/test_portal_validation.py tests/test_stress.py -v | |
| typecheck-python: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - run: pip install -e ".[web,dev]" pyright | |
| - run: pyright src/wiesn_agent/ --level warning | |
| lint-frontend: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: web | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: web/package-lock.json | |
| - run: npm ci | |
| - run: npx eslint src/ | |
| build-frontend: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: web | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: web/package-lock.json | |
| - run: npm ci | |
| - run: npx tsc -b --noEmit | |
| - run: npm run build | |
| docker: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: docker build -t wiesn-agent:ci . |