Skip to content

fix: add gitignore exception for bug_report.md issue template #276

fix: add gitignore exception for bug_report.md issue template

fix: add gitignore exception for bug_report.md issue template #276

name: Enhanced Mobile Testing & Copilot Integration
on:
push:
branches: [ main, copilot/* ]
pull_request:
branches: [ main ]
env:
# Copilot and development environment configuration
NODE_VERSION: '18'
PYTHON_VERSION: '3.9'
jobs:
setup-environment:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Configure firewall for development tools
run: |
# Allow essential package repositories and development tools
# This addresses the firewall restrictions mentioned in the PR
echo "Configuring permissive development environment..."
# Note: In GitHub Actions, these are typically pre-configured
# but we document them for local development and copilot usage
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: 'svelte-frontend/package-lock.json'
- name: Setup Python environment
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: 'pip'
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
python3-dev \
python3-pip \
curl \
wget \
git
- name: Install Python dependencies
run: |
pip install -r requirements.txt
pip install -r backend/requirements.txt
- name: Verify Python imports
run: |
python - <<'PY'
import importlib, sys

Check failure on line 62 in .github/workflows/enhanced-mobile-testing.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/enhanced-mobile-testing.yml

Invalid workflow file

You have an error in your yaml syntax on line 62
packages = ['fastapi', 'pydantic', 'spacy']
missing = [p for p in packages if importlib.util.find_spec(p) is None]
if missing:
print(f"Missing packages: {', '.join(missing)}")
sys.exit(1)
print('✅ All required packages imported successfully')
PY
- name: Install frontend dependencies
working-directory: ./svelte-frontend
run: |
npm ci
npx playwright install --with-deps
- name: Cache Playwright browsers
uses: actions/cache@v3
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-playwright-
mobile-testing:
needs: setup-environment
runs-on: ubuntu-latest
strategy:
matrix:
device: [
'Mobile Chrome',
'Mobile Safari',
'Tablet'
]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: 'svelte-frontend/package-lock.json'
- name: Install dependencies
run: |
pip install -r requirements.txt
pip install -r backend/requirements.txt
npm ci --prefix svelte-frontend
npx playwright install --with-deps
- name: Verify Python imports
run: |
python - <<'PY'
import importlib, sys
packages = ['fastapi', 'pydantic', 'spacy']
missing = [p for p in packages if importlib.util.find_spec(p) is None]
if missing:
print(f"Missing packages: {', '.join(missing)}")
sys.exit(1)
print('✅ All required packages imported successfully')
PY
- name: Start backend services
run: |
# Start the GödelOS backend
chmod +x start-godelos.sh
./start-godelos.sh &
sleep 30 # Wait for services to start
- name: Run mobile tests for ${{ matrix.device }}
working-directory: ./svelte-frontend
run: |
npx playwright test --project="${{ matrix.device }}" mobile-experience.spec.js
- name: Upload test results
uses: actions/upload-artifact@v3
if: always()
with:
name: mobile-test-results-${{ matrix.device }}
path: |
svelte-frontend/test-results/
svelte-frontend/playwright-report/
- name: Stop backend services
if: always()
run: |
chmod +x stop-godelos.sh
./stop-godelos.sh
cognitive-pipeline-e2e:
needs: setup-environment
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: 'svelte-frontend/package-lock.json'
- name: Setup Python environment
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: 'pip'
- name: Install dependencies
run: |
pip install -r requirements.txt
pip install -r backend/requirements.txt
cd svelte-frontend
npm ci
npx playwright install --with-deps
- name: Verify Python imports
run: |
python - <<'PY'
import importlib, sys
packages = ['fastapi', 'pydantic', 'spacy']
missing = [p for p in packages if importlib.util.find_spec(p) is None]
if missing:
print(f"Missing packages: {', '.join(missing)}")
sys.exit(1)
print('✅ All required packages imported successfully')
PY
- name: Start full GödelOS system
run: |
chmod +x start-godelos.sh
./start-godelos.sh &
sleep 45 # Extended wait for full system
- name: Run comprehensive cognitive pipeline tests
working-directory: ./svelte-frontend
run: |
# Run the new comprehensive e2e test
npx playwright test cognitive-pipeline-e2e.spec.js
- name: Generate test screenshots
working-directory: ./svelte-frontend
run: |
# Run screenshot generation test
npx playwright test screenshot-generation.spec.js
- name: Upload comprehensive test results
uses: actions/upload-artifact@v3
if: always()
with:
name: cognitive-pipeline-test-results
path: |
svelte-frontend/test-results/
svelte-frontend/playwright-report/
svelte-frontend/screenshots/
- name: Stop backend services
if: always()
run: |
chmod +x stop-godelos.sh
./stop-godelos.sh
# Comprehensive testing summary
test-summary:
needs: [mobile-testing, cognitive-pipeline-e2e]
runs-on: ubuntu-latest
if: always()
steps:
- name: Download all test artifacts
uses: actions/download-artifact@v3
- name: Generate test summary
run: |
echo "## 🧪 Comprehensive Testing Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Mobile Testing Results" >> $GITHUB_STEP_SUMMARY
echo "- Mobile Chrome: Completed" >> $GITHUB_STEP_SUMMARY
echo "- Mobile Safari: Completed" >> $GITHUB_STEP_SUMMARY
echo "- Tablet: Completed" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Cognitive Pipeline E2E Testing" >> $GITHUB_STEP_SUMMARY
echo "- Full system integration: Completed" >> $GITHUB_STEP_SUMMARY
echo "- UI/UX + Backend harmony: Verified" >> $GITHUB_STEP_SUMMARY
echo "- Screenshot documentation: Generated" >> $GITHUB_STEP_SUMMARY