name: E2E Tests on: push: branches: - main paths-ignore: - website/** pull_request: branches: - main paths-ignore: - website/** jobs: yarn-v1: name: E2E — Yarn v1 timeout-minutes: 30 runs-on: ubuntu-latest strategy: matrix: node: ['14', '16', '17'] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node }} cache: yarn - name: Installation run: yarn - name: Generate test-website project against main branch run: yarn test:build:website -s env: KEEP_CONTAINER: true - name: Install test-website project with Yarn v1 run: yarn install working-directory: ../test-website env: npm_config_registry: http://localhost:4873 - name: Start test-website project run: yarn start --no-open working-directory: ../test-website env: E2E_TEST: true - name: Build test-website project run: yarn build working-directory: ../test-website env: CI: true yarn-berry: name: E2E — Yarn Berry timeout-minutes: 30 runs-on: ubuntu-latest strategy: matrix: node: ['14'] nodeLinker: [pnp, node-modules] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node }} cache: yarn - name: Installation run: yarn - name: Generate test-website project against main branch run: yarn test:build:website -s env: KEEP_CONTAINER: true - name: Install test-website project with Yarn Berry and nodeLinker = ${{ matrix.nodeLinker }} run: | # we have to switch to berry first before setting the version we want yarn set version berry # temporary using canary for #5342 yarn set version canary yarn config set nodeLinker ${{ matrix.nodeLinker }} yarn config set pnpMode loose yarn config set npmRegistryServer http://localhost:4873 yarn config set unsafeHttpWhitelist --json '["localhost"]' yarn config set enableGlobalCache true yarn install working-directory: ../test-website env: YARN_ENABLE_IMMUTABLE_INSTALLS: false # Yarn berry should create the lockfile, despite CI env - name: Start test-website project run: yarn start --no-open working-directory: ../test-website env: E2E_TEST: true - name: Build test-website project run: yarn build working-directory: ../test-website env: CI: true