Publish #435
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
prepare-yarn-cache: | |
name: Prepare Cache | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Use Node.js latest | |
uses: actions/setup-node@v3 | |
with: | |
cache: 'yarn' | |
- name: Update Yarn cache | |
env: | |
YARN_ENABLE_SCRIPTS: false # disable post-install scripts | |
YARN_NODE_LINKER: pnp # use pnp linker for better performance: it's meant to update yarn cache only | |
run: | | |
yarn dedupe --check | |
yarn install --immutable | |
lint: | |
name: Lint | |
needs: prepare-yarn-cache | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Use Node.js latest | |
uses: actions/setup-node@v3 | |
with: | |
cache: 'yarn' | |
- name: Install | |
run: yarn install | |
- name: Lint | |
run: yarn lint | |
- name: TSCheck | |
run: yarn tscheck | |
- name: Check compat-data | |
run: yarn build-es-shims-data | |
env: | |
CHECK_COMPAT_DATA: true | |
test: | |
name: Test on Node.js | |
needs: prepare-yarn-cache | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18, 16, 14, 12] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Use Node.js latest | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'yarn' | |
- name: Install | |
run: yarn install | |
- name: Build | |
run: yarn build | |
- name: Test on Node.js ${{ matrix.node-version }} | |
# `maxWorkers` cannot be 1 because we are using `process.exitCode` in our tests. | |
run: yarn jest --ci --color --maxWorkers=2 | |
env: | |
BABEL_TYPES_8_BREAKING: true | |
- name: Test the esm build | |
run: | |
yarn test:esm | |
test-windows: | |
name: Test on Windows | |
needs: prepare-yarn-cache | |
runs-on: windows-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Use Node.js latest | |
uses: actions/setup-node@v3 | |
with: | |
node-version: latest | |
cache: 'yarn' | |
- name: Install | |
run: yarn install | |
- name: Build with bash | |
shell: bash | |
run: yarn build-es-shims-data | |
- name: Build | |
run: yarn build-corejs3-shipped-proposals && gulp build && gulp bundle | |
- name: Test on Node.js latest | |
# `maxWorkers` cannot be 1 because we are using `process.exitCode` in our tests. | |
run: yarn jest --ci --color --maxWorkers=2 | |
env: | |
BABEL_TYPES_8_BREAKING: true | |
- name: Test the esm build | |
run: | |
yarn test:esm |