name: Deploy to server on: push: branches: - '**' jobs: build-test: runs-on: ubuntu-latest environment: production steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Use Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install dependencies and build run: | npm ci npm run build - name: Install http-server run: npm install --save-dev http-server - name: Start HTTP server run: npx http-server ./dist -p 8080 & env: CI: true - name: Run Cypress tests run: npm run test env: CYPRESS_baseUrl: http://localhost:8080 - name: Upload Cypress screenshots if: failure() uses: actions/upload-artifact@v4 with: name: cypress-screenshots path: cypress/screenshots