Feature/report view page #146
Workflow file for this run
This file contains 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
name: Cypress E2E Tests | |
on: | |
push: | |
branches: [ main, develop ] | |
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 | |
- 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 }} > 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 | |
- 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 |