fix(render): Tests for the web env not using the server.browser version of react-dom/server #2204
Workflow file for this run
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: rsnd | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
format: | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
container: | |
image: node:18 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Enable Corepack | |
id: pnpm-setup | |
run: | | |
corepack enable | |
corepack prepare pnpm@latest --activate | |
pnpm config set script-shell "/usr/bin/bash" | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- name: pnpm Cache | |
uses: buildjet/cache@v3 | |
with: | |
path: ${{ steps.pnpm-setup.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install packages | |
run: pnpm install --frozen-lockfile | |
- name: Run Format Check | |
run: pnpm format:check | |
test: | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
container: | |
image: node:18 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Enable Corepack | |
id: pnpm-setup | |
run: | | |
corepack enable | |
corepack prepare pnpm@latest --activate | |
pnpm config set script-shell "/usr/bin/bash" | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- name: pnpm Cache | |
uses: buildjet/cache@v3 | |
with: | |
path: ${{ steps.pnpm-setup.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install packages | |
run: pnpm install --frozen-lockfile | |
- name: Run Build | |
run: pnpm build | |
- name: Run Lint | |
run: pnpm lint | |
- name: Run Tests | |
run: pnpm test | |
build: | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
container: | |
image: node:18 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Enable Corepack | |
id: pnpm-setup | |
run: | | |
corepack enable | |
corepack prepare pnpm@latest --activate | |
pnpm config set script-shell "/usr/bin/bash" | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- name: pnpm Cache | |
uses: buildjet/cache@v3 | |
with: | |
path: ${{ steps.pnpm-setup.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install packages | |
run: pnpm install --frozen-lockfile | |
- name: Run Build | |
run: pnpm build | |
dependencies: | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
container: | |
image: node:18 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Check for pinned dependencies | |
run: | | |
node -e ' | |
const fs = require("fs"); | |
const pkg = JSON.parse(fs.readFileSync("package.json", "utf8")); | |
const errors = []; | |
function isPinned(version) { | |
if (version.startsWith("workspace:")) { | |
return true; | |
} | |
return /^\d+\.\d+\.\d+$|^[a-z]+:[a-z]+@\d+$/.test(version); | |
} | |
for (const [dep, version] of Object.entries(pkg.dependencies || {})) { | |
if (!isPinned(version)) { | |
errors.push(`Dependency "${dep}" is not pinned: "${version}"`); | |
} | |
} | |
for (const [dep, version] of Object.entries(pkg.devDependencies || {})) { | |
if (!isPinned(version)) { | |
errors.push(`Dev dependency "${dep}" is not pinned: "${version}"`); | |
} | |
} | |
if (errors.length > 0) { | |
console.error(`\n${errors.join("\n")}\n`); | |
process.exit(1); | |
} else { | |
console.log("All dependencies are pinned."); | |
} | |
' |