Skip to content

Release v2.2.1 (#4549) #12090

Release v2.2.1 (#4549)

Release v2.2.1 (#4549) #12090

name: Build Affected Packages
permissions:
contents: read
actions: read
on:
pull_request:
branches: [main, '**']
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
checkout-install:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout Repository
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js 20
uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'pnpm'
cache-dependency-path: '**/pnpm-lock.yaml'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Restore Turborepo cache
id: turbo-cache
uses: actions/cache/restore@v5
with:
path: .turbo/cache
key: ${{ runner.os }}-turbo-${{ github.ref_name }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-turbo-${{ github.ref_name }}-
${{ runner.os }}-turbo-
- name: Install Cypress
run: npx cypress install
- name: Check code format
run: node tools/scripts/check-format-changed.mjs
- name: Verify Rslib Template Publint Wiring
run: node packages/create-module-federation/scripts/verify-rslib-templates.mjs
- name: Verify Package Rslib Publint Wiring
run: node tools/scripts/verify-rslib-publint-coverage.mjs
- name: Verify Publint Workflow Coverage
run: node tools/scripts/verify-publint-workflow-coverage.mjs
- name: Verify Turbo Conventions
run: pnpm run verify:turbo
- name: Build packages
run: pnpm run build:packages
- name: Check Package Publishing Compatibility
run: |
for pkg in packages/*; do
if [ -f "$pkg/package.json" ] && \
[ "$pkg" != "packages/assemble-release-plan" ] && \
[ "$pkg" != "packages/chrome-devtools" ] && \
[ "$pkg" != "packages/core" ] && \
[ "$pkg" != "packages/modernjs" ] && \
[ "$pkg" != "packages/utilities" ]; then
echo "Checking $pkg..."
npx publint "$pkg"
fi
done
- name: Run affected package tests
run: node tools/scripts/run-affected-package-tests.mjs
- name: Save Turborepo cache
if: ${{ success() && steps.turbo-cache.outputs.cache-hit != 'true' }}
uses: actions/cache/save@v5
with:
path: .turbo/cache
key: ${{ steps.turbo-cache.outputs.cache-primary-key }}
e2e-modern:
needs: checkout-install
uses: ./.github/workflows/e2e-modern.yml
secrets: inherit
e2e-runtime:
needs: checkout-install
uses: ./.github/workflows/e2e-runtime.yml
secrets: inherit
e2e-manifest:
needs: checkout-install
uses: ./.github/workflows/e2e-manifest.yml
secrets: inherit
e2e-node:
needs: checkout-install
uses: ./.github/workflows/e2e-node.yml
secrets: inherit
e2e-next-dev:
needs: checkout-install
uses: ./.github/workflows/e2e-next-dev.yml
secrets: inherit
e2e-next-prod:
needs: checkout-install
uses: ./.github/workflows/e2e-next-prod.yml
secrets: inherit
e2e-treeshake:
needs: checkout-install
uses: ./.github/workflows/e2e-treeshake.yml
secrets: inherit
e2e-modern-ssr:
needs: checkout-install
uses: ./.github/workflows/e2e-modern-ssr.yml
secrets: inherit
e2e-router:
needs: checkout-install
uses: ./.github/workflows/e2e-router.yml
secrets: inherit
e2e-metro:
needs:
- checkout-install
uses: ./.github/workflows/e2e-metro.yml
secrets: inherit
devtools:
needs: checkout-install
uses: ./.github/workflows/devtools.yml
secrets: inherit