fix cypress configuration #3
Workflow file for this run
This file contains hidden or 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: Build and Test Frontend | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - dkijania/** | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| services: | |
| docker: | |
| image: docker:dind | |
| options: --privileged | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build Docker image | |
| run: | | |
| docker build --no-cache -t directcuteo/mina-frontend:latest -f Dockerfile2 . | |
| - name: Start frontend server | |
| run: | | |
| docker run -d --name frontend-server --privileged directcuteo/mina-frontend:latest | |
| - name: Setup Node.js for Cypress | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Cache npm dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.npm | |
| key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-node- | |
| - name: Install Cypress dependencies | |
| run: npm install | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| strategy: | |
| matrix: | |
| test-spec: | |
| - "cypress/e2e/dashboard/nodes/dashboard-nodes-table.cy.ts" | |
| - "cypress/e2e/network/messages/network-messages-table.cy.ts" | |
| - "cypress/e2e/network/blocks/network-blocks-table.cy.ts" | |
| - "cypress/e2e/network/blocks/network-blocks-toolbar.cy.ts" | |
| - "cypress/e2e/network/blocks/network-blocks-side-panel.cy.ts" | |
| - "cypress/e2e/network/blocks-ipc/network-blocks-ipc-table.cy.ts" | |
| - "cypress/e2e/network/blocks-ipc/network-blocks-ipc-toolbar.cy.ts" | |
| - "cypress/e2e/network/blocks-ipc/network-blocks-ipc-side-panel.cy.ts" | |
| - "cypress/e2e/explorer/blocks/explorer-blocks-table.cy.ts" | |
| - "cypress/e2e/explorer/snark-pool/explorer-snark-pool-table.cy.ts" | |
| - "cypress/e2e/explorer/snark-pool/explorer-snark-pool-toolbar.cy.ts" | |
| - "cypress/e2e/explorer/scan-state/explorer-scan-state.cy.ts" | |
| - "cypress/e2e/explorer/snark-traces/explorer-snark-traces-table.cy.ts" | |
| - "cypress/e2e/explorer/snark-traces/explorer-snark-traces-toolbar.cy.ts" | |
| - "cypress/e2e/web-node/wallet/web-node-wallet.cy.ts" | |
| - "cypress/e2e/web-node/logs/web-node-logs.cy.ts" | |
| - "cypress/e2e/web-node/peers/web-node-peers.cy.ts" | |
| services: | |
| docker: | |
| image: docker:dind | |
| options: --privileged | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build Docker image | |
| run: | | |
| docker build --no-cache -t directcuteo/mina-frontend:latest -f Dockerfile2 . | |
| - name: Start frontend server | |
| run: | | |
| docker run -d --name frontend-server --privileged directcuteo/mina-frontend:latest | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Cache npm dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.npm | |
| key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-node- | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Run Cypress test | |
| uses: cypress-io/github-action@v6 | |
| with: | |
| config-file: cypress.config.js | |
| spec: ${{ matrix.test-spec }} | |
| install: false | |
| - name: Upload test videos on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v3 | |
| with: | |
| name: cypress-videos-${{ strategy.job-index }} | |
| path: cypress/videos/ | |
| retention-days: 7 | |
| - name: Upload test screenshots on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v3 | |
| with: | |
| name: cypress-screenshots-${{ strategy.job-index }} | |
| path: cypress/screenshots/ | |
| retention-days: 7 |