iterative/vscode-dvc

View on GitHub
.github/workflows/end-to-end-test.yml

Summary

Maintainability
Test Coverage
name: End To End Test
on:
  push:
    branches:
      - main
  pull_request:

concurrency:
  group: end-to-end-${{ github.head_ref }}
  cancel-in-progress: true

jobs:
  suite:
    runs-on: ubuntu-latest
    timeout-minutes: 20
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          submodules: true

      - name: Setup Python environment
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'
          cache: 'pip'

      - name: Setup Node.js environment
        uses: actions/setup-node@v4
        with:
          node-version: '16'
          cache: 'yarn'

      - name: Turbo cache
        if: ${{ github.ref_name != 'main' }}
        id: turbo-cache
        uses: actions/cache@v4
        with:
          path: node_modules/.cache/turbo
          key:
            turbo-end-to-end-${{ github.job }}-${{ github.ref_name }}-${{
            github.sha }}
          restore-keys: |
            turbo-end-to-end-${{ github.job }}-${{ github.ref_name }}-

      - run: yarn install

      - name: Test E2E
        uses: GabrielBB/xvfb-action@v1
        with:
          run: yarn test:e2e
          options: '-screen 0 1600x1200x24'
      - uses: actions/upload-artifact@v4
        if: failure()
        with:
          name: screenshots
          path: |
            extension/src/test/e2e/screenshots
            extension/src/test/e2e/logs