name: CI/CD Pipeline on: push: branches: - main pull_request: branches: - main jobs: test-opticparse-python: name: Test OpticParse (Python) runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install Dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install pytest pytest-asyncio httpx - name: Run Pytest run: | export GROQ_API_KEY="test" export GEMINI_API_KEY="test" export DATABASE_URL="" export SUPABASE_SERVICE_KEY="" python -m pytest test_server.py -v test-phishvision-node: name: Test PhishVision (Node/TS) runs-on: ubuntu-latest defaults: run: working-directory: ./opticparse-js steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' cache-dependency-path: 'opticparse-js/package-lock.json' - name: Install Dependencies run: npm install - name: Run TypeScript Check run: npx tsc --noEmit