name: E2E composable on: push: branches: - main - v4 - feat/* - fix/* pull_request: workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: build-and-test: runs-on: ubuntu-latest name: Build and test env: dir: ./packages/test-e2e-composable-vue3 steps: - name: Set alternate npm integrity keys run: | echo COREPACK_INTEGRITY_KEYS="$(curl https://registry.npmjs.org/-/npm/v1/keys | jq -c '{npm: .keys}')" >> $GITHUB_ENV - uses: actions/checkout@v4 - run: corepack enable - uses: actions/setup-node@v4 with: node-version: 23 cache: pnpm - uses: actions/cache@v4 with: path: ~/.cache/Cypress key: cypress-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} - run: pnpm install - name: Build run: pnpm run build - name: Build app working-directory: ${{env.dir}} run: pnpm run build - name: E2E tests working-directory: ${{env.dir}} run: pnpm run test:e2e - uses: actions/upload-artifact@v4 if: failure() with: name: cypress-screenshots path: ${{env.dir}}/tests/e2e/screenshots - uses: actions/upload-artifact@v4 if: always() with: name: cypress-videos path: ${{env.dir}}/tests/e2e/videos