docusaurus/.github/workflows/v2-tests-e2e.yml
Sébastien Lorber ac4a253cdf
chore: fix e2e yarn berry tests (#5342)
* disable pnp

* test-release support --skip-install + revert to pnp mode

* fix yarn canary?

* add YARN_ENABLE_IMMUTABLE_INSTALLS env

* add nodeLinker matrix

* Update .github/workflows/v2-tests-e2e.yml

Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>

* polish e2e test workflows

* polish e2e test workflows

* set npm_config_registry

Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>
2021-08-12 13:18:07 +02:00

99 lines
2.8 KiB
YAML

name: V2 Tests E2E
on:
push:
branches:
- master
pull_request:
branches:
- master
paths-ignore:
- 'website-1.x/**'
- 'packages/docusaurus-1.x/**'
- 'packages/docusaurus-init-1.x/**'
jobs:
yarn-v1:
timeout-minutes: 30
runs-on: ubuntu-latest
strategy:
matrix:
node: ['12', '14']
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}
- name: Installation
uses: bahmutov/npm-install@v1
with:
install-command: yarn
- name: Generate test-website project against master release
run: |
KEEP_CONTAINER=true yarn test:build:v2 -s
mv test-website ../test-website
- name: Install test-website project with Yarn v1
run: |
cd ../test-website
yarn install
env:
npm_config_registry: http://localhost:4873
- name: Start test-website project
run: cd ../test-website && yarn start --no-open
env:
E2E_TEST: true
- name: Build test-website project
run: cd ../test-website && yarn build
env:
CI: true
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 }}
- name: Installation
uses: bahmutov/npm-install@v1
with:
install-command: yarn
- name: Generate test-website project against master release
run: |
KEEP_CONTAINER=true yarn test:build:v2 -s
mv test-website ../test-website
- name: Install test-website project with Yarn Berry and nodeLinker = ${{ matrix.nodeLinker }}
run: |
cd ../test-website
# 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
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false # Yarn berry should create the lockfile, despite CI env
- name: Start test-website project
run: cd ../test-website && yarn start --no-open
env:
E2E_TEST: true
- name: Build test-website project
run: cd ../test-website && yarn build
env:
CI: true