Skip to content

feat: Add user feedback collection system for flow executions #187

feat: Add user feedback collection system for flow executions

feat: Add user feedback collection system for flow executions #187

Workflow file for this run

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