diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 0000000000..869360e2cc --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,72 @@ +name: Playwright Tests +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] +jobs: + tests_e2e: + name: Run end-to-end tests + timeout-minutes: 60 + runs-on: ubuntu-latest + env: + BINGAI_TOKEN: ${{ secrets.BINGAI_TOKEN }} + CHATGPT_TOKEN: ${{ secrets.CHATGPT_TOKEN }} + MONGO_URI: ${{ secrets.MONGO_URI }} + OPENAI_KEY: ${{ secrets.OPENAI_KEY }} + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + + - name: Cache API dependencies + uses: actions/cache@v2 + with: + path: ./api/node_modules + key: api-${{ runner.os }}-node-${{ hashFiles('./api/package-lock.json') }} + restore-keys: | + api-${{ runner.os }}-node- + + - name: Install API dependencies + working-directory: ./api + run: npm ci + + - name: Cache Client dependencies + uses: actions/cache@v2 + with: + path: ./client/node_modules + key: client-${{ runner.os }}-node-${{ hashFiles('./client/package-lock.json') }} + restore-keys: | + client-${{ runner.os }}-node- + + - name: Install Client dependencies + working-directory: ./client + run: npm ci + + - name: Build Client + working-directory: ./client + run: npm run build + + - name: Install global dependencies + run: npm ci + + - name: Install Playwright Browsers + run: npx playwright install --with-deps + + - name: Start API server + working-directory: ./api + run: | + npm run start & + sleep 10 # Wait for the server to start + + - name: Run Playwright tests + run: npx playwright test + + - uses: actions/upload-artifact@v3 + if: always() + with: + name: playwright-report + path: e2e/playwright-report/ + retention-days: 30 diff --git a/client/src/components/ui/Landing.jsx b/client/src/components/ui/Landing.jsx index 3412018382..27d4066c48 100644 --- a/client/src/components/ui/Landing.jsx +++ b/client/src/components/ui/Landing.jsx @@ -32,7 +32,7 @@ export default function Landing() { return (