Add voice Task Management (task_manager.py), integrate commands in Ja… #25
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
| # This workflow will install Python dependencies, run tests and lint with a single version of Python | |
| # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
| name: Python application | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| permissions: | |
| contents: read | |
| jobs: | |
| # Job to detect what files changed | |
| changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| docs: ${{ steps.changes.outputs.docs }} | |
| python: ${{ steps.changes.outputs.python }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dorny/paths-filter@v2 | |
| id: changes | |
| with: | |
| filters: | | |
| docs: | |
| - '**.md' | |
| - '**.txt' | |
| - 'docs/**' | |
| python: | |
| - '**.py' | |
| - 'requirements.txt' | |
| - '.github/workflows/**' | |
| # Basic syntax check job - only runs if Python files changed | |
| syntax-check: | |
| needs: changes | |
| if: ${{ needs.changes.outputs.python == 'true' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.10 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.10" | |
| - name: Basic syntax check | |
| run: | | |
| python -m py_compile *.py || echo "Some files have syntax errors, but continuing..." | |
| - name: Quick lint check | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install flake8 | |
| # stop the build if there are Python syntax errors or undefined names | |
| flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude=venv,env,.venv,.env | |
| - name: Notify about comprehensive tests | |
| run: | | |
| echo "ℹ️ Basic syntax check completed." | |
| echo "📋 For comprehensive Python testing, see the 'Python Tests' workflow." | |
| echo "🔗 Comprehensive tests run separately to avoid slowing down main CI." | |
| # Documentation check job - only runs if docs changed | |
| docs-check: | |
| needs: changes | |
| if: ${{ needs.changes.outputs.docs == 'true' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check documentation | |
| run: | | |
| echo "Documentation files changed. Running basic checks..." | |
| # Check if README.md exists and is not empty | |
| if [[ -f "README.md" && -s "README.md" ]]; then | |
| echo "✅ README.md exists and is not empty" | |
| else | |
| echo "❌ README.md is missing or empty" | |
| exit 1 | |
| fi | |
| # Check for basic markdown syntax | |
| echo "Checking for basic markdown syntax..." | |
| find . -name "*.md" -exec grep -l "]()" {} \; | while read file; do | |
| echo "⚠️ Potential broken link found in: $file" | |
| done | |
| echo "📚 Documentation check completed successfully!" | |
| # Summary job that always runs | |
| build-summary: | |
| needs: [changes, syntax-check, docs-check] | |
| if: always() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Build Summary | |
| run: | | |
| echo "## Build Summary" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Python files changed**: ${{ needs.changes.outputs.python }}" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Documentation files changed**: ${{ needs.changes.outputs.docs }}" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Syntax check result**: ${{ needs.syntax-check.result }}" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Docs check result**: ${{ needs.docs-check.result }}" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "🔗 **For comprehensive Python testing**, check the 'Python Tests' workflow" >> $GITHUB_STEP_SUMMARY | |
| echo "📋 This includes unit tests, integration tests, security checks, and code quality analysis" >> $GITHUB_STEP_SUMMARY |