Skip to content

Bump the workspace-deps group with 6 updates #142

Bump the workspace-deps group with 6 updates

Bump the workspace-deps group with 6 updates #142

Workflow file for this run

name: Validate Stats Generation
on:
pull_request:
paths:
- 'packages/stats-generator/**'
- '.github/workflows/generate-stats.yml'
- '.github/workflows/measure-framework.yml'
- '.github/workflows/validate-stats.yml'
- '.github/frameworks.json'
- 'packages/app-*/**'
- 'packages/starter-*/**'
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup pnpm
uses: pnpm/action-setup@8912a9102ac27614460f54aedde9e1e7f9aec20d # v6.0.5
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '24'
cache: 'pnpm'
- name: Install workspace dependencies
run: pnpm install --frozen-lockfile
- name: Install all package dependencies
run: |
FRAMEWORKS=$(cat .github/frameworks.json)
for PKG in $(echo "$FRAMEWORKS" | jq -r '.[].starter.package // empty, .[].app.package // empty'); do
echo "Installing $PKG..."
(cd packages/$PKG && pnpm install --frozen-lockfile)
done
- name: Run all benchmarks and validate
run: |
set -e
echo "=== Running SSR benchmarks ==="
FRAMEWORKS=$(cat .github/frameworks.json)
echo "$FRAMEWORKS" | jq -c '.[] | select(.app)' | while read -r framework; do
PKG=$(echo "$framework" | jq -r '.app.package')
echo "Building $PKG..."
(cd packages/$PKG && pnpm build)
echo "Running SSR benchmark for $PKG..."
pnpm --filter @framework-tracker/stats-generator run:ssr $PKG
done
echo ""
echo "=== Running starter benchmarks ==="
FRAMEWORKS=$(cat .github/frameworks.json)
echo "$FRAMEWORKS" | jq -c '.[] | select(.starter)' | while read -r framework; do
PKG=$(echo "$framework" | jq -r '.starter.package')
echo "Running install benchmark for $PKG (1 run)..."
pnpm --filter @framework-tracker/stats-generator run:install $PKG 1
echo "Running build benchmark for $PKG..."
pnpm --filter @framework-tracker/stats-generator run:build $PKG
done
echo ""
echo "=== Running e18e dependency analysis ==="
FRAMEWORKS=$(cat .github/frameworks.json)
echo "$FRAMEWORKS" | jq -c '.[] | select(.starter) | select(.starter.measurements | map(.type) | contains(["dependencies"]))' | while read -r framework; do
PKG=$(echo "$framework" | jq -r '.starter.package')
echo "Running e18e analysis for $PKG..."
(cd packages/$PKG && npx @e18e/cli@0.5.0 analyze --json > e18e-stats.json || true)
done
echo ""
echo "=== Running SPA benchmarks ==="
FRAMEWORKS=$(cat .github/frameworks.json)
echo "$FRAMEWORKS" | jq -c '.[] | select(.app) | select(.app.measurements | map(.type) | contains(["spa"]))' | while read -r framework; do
PKG=$(echo "$framework" | jq -r '.app.package')
echo "Building SPA for $PKG..."
(cd packages/$PKG && BUILD_MODE=spa pnpm build)
echo "Running SPA benchmark for $PKG..."
pnpm --filter @framework-tracker/stats-generator run:spa $PKG
done
echo ""
echo "=== Running MPA benchmarks ==="
FRAMEWORKS=$(cat .github/frameworks.json)
echo "$FRAMEWORKS" | jq -c '.[] | select(.app) | select(.app.measurements | map(.type) | contains(["mpa"]))' | while read -r framework; do
PKG=$(echo "$framework" | jq -r '.app.package')
echo "Building MPA for $PKG..."
(cd packages/$PKG && pnpm build)
echo "Running MPA benchmark for $PKG..."
pnpm --filter @framework-tracker/stats-generator run:mpa $PKG
done
echo ""
echo "=== Validating all outputs ==="
pnpm --filter @framework-tracker/stats-generator validate