Version Packages (#1476) #4333
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: Validate | |
on: [push, pull_request] | |
jobs: | |
test: | |
strategy: | |
matrix: | |
# Blank string allows us to test against version in nvmrc file | |
# configured in 'Set up Node.js' down below. | |
node: ['', 'lts/*'] | |
name: Lint & Test (${{ (matrix.node && matrix.node != 'lts/*') && format('node {0}', matrix.node) || matrix.node || 'nvmrc' }}) | |
runs-on: ubuntu-latest | |
env: | |
CI: true | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
node-version-file: ${{ matrix.node == '' && '.nvmrc' || '' }} | |
cache: 'pnpm' | |
- name: Install Dependencies | |
run: pnpm i | |
- name: Build | |
run: pnpm build && node ./site/makeDocsManifest | |
- name: Lint | |
run: pnpm lint | |
- name: Unit Test | |
run: pnpm test:unit | |
windows-test: | |
strategy: | |
matrix: | |
# Blank string allows us to test against version in nvmrc file | |
# configured in 'Set up Node.js' down below. | |
node: ['', 'lts/*'] | |
name: Windows Tests (${{ (matrix.node && matrix.node != 'lts/*') && format('node {0}', matrix.node) || matrix.node || 'nvmrc' }}) | |
runs-on: windows-latest | |
env: | |
CI: true | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
node-version-file: ${{ matrix.node == '' && '.nvmrc' || '' }} | |
cache: 'pnpm' | |
- name: Install Dependencies | |
run: pnpm i | |
- name: Build | |
run: pnpm build | |
- name: Unit Test | |
run: pnpm test:unit | |
playwright: | |
name: Playwright tests | |
runs-on: macos-14 | |
env: | |
CI: true | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'pnpm' | |
- name: Install Dependencies | |
run: pnpm i | |
- name: Install Browsers | |
run: pnpm playwright install chromium | |
- name: Build packages | |
run: pnpm build | |
- name: Playwright tests | |
run: pnpm test:playwright | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: test-results | |
path: test-results/ |