feat: Add user feedback collection system for flow executions #187
Workflow file for this run
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: PR Checks | |
| on: | |
| pull_request: | |
| branches: [ main ] | |
| types: [opened, synchronize, reopened] | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| checks: write | |
| jobs: | |
| test-ui: | |
| runs-on: ubuntu-latest | |
| name: Test UI | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Test UI | |
| uses: ./.github/actions/test-ui | |
| lint-ui: | |
| runs-on: ubuntu-latest | |
| name: Lint UI | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Lint UI | |
| uses: ./.github/actions/lint-ui | |
| test-and-lint: | |
| name: Test and Lint Backend | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python 3.10 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v3 | |
| with: | |
| version: "latest" | |
| - name: Cache uv dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cache/uv | |
| /runner/_work/_temp/setup-uv-cache | |
| .venv | |
| key: uv-${{ runner.os }}-${{ hashFiles('uv.lock', 'pyproject.toml') }} | |
| - name: Install dependencies | |
| run: | | |
| uv sync --group dev --extra interpreter | |
| uv pip install -e .[interpreter] | |
| - name: Run tests with coverage | |
| run: | | |
| uv run pytest --cov=qtype --cov-report=xml --cov-report=term-missing -v | |
| - name: Coverage comment | |
| if: github.event.pull_request.head.repo.full_name == github.repository | |
| id: coverage_comment | |
| uses: orgoro/coverage@v3.2 | |
| with: | |
| coverageFile: coverage.xml | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| thresholdAll: 0.7 | |
| - name: Run ruff check (linting) | |
| run: | | |
| uv run ruff check qtype/ tests/ | |
| - name: Check code formatting with ruff | |
| run: | | |
| uv run ruff format --check qtype/ tests/ | |
| - name: Check import sorting with isort | |
| run: | | |
| uv run isort --check-only --diff qtype/ tests/ | |
| # - name: Run mypy type checking | |
| # run: | | |
| # uv run mypy qtype/ tests/ | |
| - name: Verify CLI functionality | |
| env: | |
| OPENAI_KEY: DEADBEEF | |
| run: | | |
| # Test that the CLI can be invoked | |
| uv run qtype --help | |
| # Test schema generation | |
| uv run qtype generate schema -o /tmp/test-schema.json | |
| # Test validation if example exists | |
| uv run qtype validate examples/conversational_ai/simple_chatbot.qtype.yaml |