Skip to content

Claude/remove pro warning badge #4392

Claude/remove pro warning badge

Claude/remove pro warning badge #4392

name: JS unit tests for Renderer package
on:
push:
branches:
- 'master'
paths-ignore:
- '**.md'
- 'docs/**'
- 'lib/**'
- 'spec/react_on_rails/**'
pull_request:
paths-ignore:
- '**.md'
- 'docs/**'
- 'lib/**'
- 'spec/react_on_rails/**'
workflow_dispatch:
jobs:
detect-changes:
runs-on: ubuntu-22.04
outputs:
docs_only: ${{ steps.detect.outputs.docs_only }}
run_lint: ${{ steps.detect.outputs.run_lint }}
run_js_tests: ${{ steps.detect.outputs.run_js_tests }}
run_ruby_tests: ${{ steps.detect.outputs.run_ruby_tests }}
run_dummy_tests: ${{ steps.detect.outputs.run_dummy_tests }}
run_generators: ${{ steps.detect.outputs.run_generators }}
steps:
- uses: actions/checkout@v4
with:
# Fetch enough history for change detection (50 commits is usually sufficient for PRs)
fetch-depth: 50
persist-credentials: false
- name: Detect relevant changes
id: detect
run: |
BASE_REF="${{ github.event.pull_request.base.sha || github.event.before || 'origin/master' }}"
script/ci-changes-detector "$BASE_REF"
shell: bash
build:
needs: detect-changes
# Run on master OR when JS tests needed on PR (but skip Node 20 on PR)
if: |
(github.ref == 'refs/heads/master' || needs.detect-changes.outputs.run_js_tests == 'true')
strategy:
matrix:
include:
# Always run: Latest Node version (fast feedback on PRs)
- node-version: '22'
# Master only: Minimum supported Node version (full coverage)
- node-version: '20'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
# TODO: Re-enable cache when Node.js 22 V8 bug is fixed
# Disable cache for Node 22 due to V8 bug in 22.21.0
# Track: https://github.com/nodejs/node/issues/56010
cache: ${{ matrix.node-version != '22' && 'yarn' || '' }}
cache-dependency-path: '**/yarn.lock'
- name: Print system information
run: |
echo "Linux release: "; cat /etc/issue
echo "Current user: "; whoami
echo "Current directory: "; pwd
echo "Node version: "; node -v
echo "Yarn version: "; yarn --version
- name: run conversion script
if: matrix.node-version == '20'
run: script/convert
- name: Install Node modules with Yarn for renderer package
run: |
yarn install --no-progress --no-emoji ${{ matrix.node-version == '22' && '--frozen-lockfile' || '' }}
sudo yarn global add yalc
- name: Build Renderer package
run: yarn build
- name: Run JS unit tests for Renderer package
run: yarn test