diff --git a/.github/workflows/measure-framework.yml b/.github/workflows/measure-framework.yml index 5f7a36f..484d7f6 100644 --- a/.github/workflows/measure-framework.yml +++ b/.github/workflows/measure-framework.yml @@ -18,7 +18,8 @@ on: deps-matrix: description: 'JSON array of frameworks to run e18e dependency analysis' type: string - required: true + required: false + default: '[]' jobs: measure-install: @@ -166,7 +167,7 @@ jobs: - name: Run e18e analysis working-directory: ./packages/${{ matrix.framework.package }} - run: npx @e18e/cli@latest analyze --json > e18e-stats.json + run: npx @e18e/cli@0.5.0 analyze --json > e18e-stats.json || true - name: Upload e18e stats uses: actions/upload-artifact@v4 diff --git a/.github/workflows/preview-stats.yml b/.github/workflows/preview-stats.yml index 65d28b1..2a71b05 100644 --- a/.github/workflows/preview-stats.yml +++ b/.github/workflows/preview-stats.yml @@ -10,6 +10,7 @@ jobs: install-matrix: ${{ steps.detect.outputs.install }} build-matrix: ${{ steps.detect.outputs.build }} ssr-matrix: ${{ steps.detect.outputs.ssr }} + deps-matrix: ${{ steps.detect.outputs.deps }} framework-names: ${{ steps.detect.outputs.framework-names }} has-changes: ${{ steps.detect.outputs.has-changes }} pr-number: ${{ steps.detect.outputs.pr-number }} @@ -67,6 +68,7 @@ jobs: echo "install=$(echo "$FRAMEWORKS" | jq -c --argjson names "$NAMES_JSON" '[.[] | select(.name as $n | $names | contains([$n])) | select(.starter) | select(.starter.measurements | map(.type) | contains(["install"])) | {name, displayName, package: .starter.package, buildScript: .starter.buildScript, buildOutputDir: .starter.buildOutputDir, measurements: .starter.measurements}]')" >> $GITHUB_OUTPUT echo "build=$(echo "$FRAMEWORKS" | jq -c --argjson names "$NAMES_JSON" '[.[] | select(.name as $n | $names | contains([$n])) | select(.starter) | select(.starter.measurements | map(.type) | contains(["build"])) | {name, displayName, package: .starter.package, buildScript: .starter.buildScript, buildOutputDir: .starter.buildOutputDir, measurements: .starter.measurements}]')" >> $GITHUB_OUTPUT echo "ssr=$(echo "$FRAMEWORKS" | jq -c --argjson names "$NAMES_JSON" '[.[] | select(.name as $n | $names | contains([$n])) | select(.app) | select(.app.measurements | map(.type) | contains(["ssr"])) | {name, displayName, package: .app.package, buildScript: .app.buildScript, buildOutputDir: .app.buildOutputDir, measurements: .app.measurements}]')" >> $GITHUB_OUTPUT + echo "deps=$(echo "$FRAMEWORKS" | jq -c --argjson names "$NAMES_JSON" '[.[] | select(.name as $n | $names | contains([$n])) | select(.starter) | select(.starter.measurements | map(.type) | contains(["dependencies"])) | {name, displayName, package: .starter.package}]')" >> $GITHUB_OUTPUT measure: needs: setup @@ -76,6 +78,7 @@ jobs: install-matrix: ${{ needs.setup.outputs.install-matrix }} build-matrix: ${{ needs.setup.outputs.build-matrix }} ssr-matrix: ${{ needs.setup.outputs.ssr-matrix }} + deps-matrix: ${{ needs.setup.outputs.deps-matrix }} preview-comment: needs: [setup, measure] diff --git a/.github/workflows/validate-stats.yml b/.github/workflows/validate-stats.yml index 8864fb1..1276e26 100644 --- a/.github/workflows/validate-stats.yml +++ b/.github/workflows/validate-stats.yml @@ -63,6 +63,15 @@ jobs: 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 "=== Validating all outputs ===" pnpm --filter @framework-tracker/stats-generator validate