Skip to content

Fix/backend checks #270

Fix/backend checks

Fix/backend checks #270

Workflow file for this run

name: Cypress E2E Tests
on:
pull_request:
branches: [ main , develop]
jobs:
e2e-tests:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Compose
uses: docker/setup-buildx-action@v2
- name: Install Docker Compose
run: |
sudo curl -L "https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- name: Verify Docker Compose Installation
run: docker-compose --version
- name: Create .env file
run: |
echo PG_USER=${{ secrets.PG_USER }} >> .env
echo PG_HOST=${{ secrets.PG_HOST }} >> .env
echo PG_DATABASE=${{ secrets.PG_DATABASE }} >> .env
echo PG_PASSWORD=${{ secrets.PG_PASSWORD }} >> .env
echo PG_PORT=${{ secrets.PG_PORT }} >> .env
echo JSON_SECRET=${{ secrets.JSON_SECRET }} >> .env
echo REFRESH_SECRET=${{ secrets.REFRESH_SECRET }} >> .env
echo NEXT_PUBLIC_API_KEY=${{ secrets.NEXT_PUBLIC_API_KEY }} >> .env
echo NEXT_PUBLIC_AUTH_DOMAIN=${{ secrets.NEXT_PUBLIC_AUTH_DOMAIN }} >> .env
echo NEXT_PUBLIC_PROJECT_ID=${{ secrets.NEXT_PUBLIC_PROJECT_ID }} >> .env
echo NEXT_PUBLIC_STORAGE_BUCKET=${{ secrets.NEXT_PUBLIC_STORAGE_BUCKET }} >> .env
echo NEXT_PUBLIC_MESSAGING_SENDER_ID=${{ secrets.NEXT_PUBLIC_MESSAGING_SENDER_ID }} >> .env
echo NEXT_PUBLIC_APP_ID=${{ secrets.NEXT_PUBLIC_APP_ID }} >> .env
echo NEXT_PUBLIC_MEASUREMENT_ID=${{ secrets.NEXT_PUBLIC_MEASUREMENT_ID }} >> .env
echo NEXT_PUBLIC_API_BASE_URL=${{ secrets.NEXT_PUBLIC_API_BASE_URL }} >> .env
echo MODEL_TYPE=${{ secrets.MODEL_TYPE }} >> .env
echo OPENAI_MODEL_NAME=${{ secrets.OPENAI_MODEL_NAME }} >> .env
echo API_KEY=${{ secrets.API_KEY }} >> .env
- name: create-json
id: create-json
uses: jsdaniell/create-json@1.1.2
with:
name: "server/covar-7c8b5-firebase-adminsdk-85918-b6654147c1.json"
json: ${{ secrets.FIREBASE_SDK }}
- name: Create DB Schema
run: |
echo ${{ secrets.SCHEMA }} > schema.sql
- name: Create Pem Files
run: |
echo ${{ secrets.PUBLIC }} > langchain/public.pem
echo ${{ secrets.PRIVATE }} > langchain/private.pem
echo ${{ secrets.PUBLIC }} > server/public.pem
echo ${{ secrets.PRIVATE }} > server/private.pem
echo ${{ secrets.REFRESH_PUBLIC }} > server/refreshPublic.pem
echo ${{ secrets.REFRESH_PRIVATE }} > server/refreshPrivate.pem
- name: Create cypress env file
run: |
echo ${{ secrets.CYPRESS_ENV }} > CoVAR-app/cypress.env.json
- name: Clean up any existing Docker containers and networks
run: |
docker-compose down || true
docker container prune -f
docker network prune -f
- name: Build and run Docker Compose services
run: docker-compose up --build -d postgres nginx api client
- name: Wait for services to be ready
run: |
echo "Waiting for services to be ready..."
sleep 50
- name: Run Cypress tests
run: docker run --network host -v $PWD/CoVAR-app:/CoVAR-app -w /CoVAR-app cypress/included:13.11.0 --config-file cypress.config.js
- name: Shut down Docker Compose services
run: docker-compose down