feat(ci): code-size gates heavy jobs, re-enable --strict

This commit is contained in:
quotentiroler
2026-02-09 11:53:29 -08:00
parent de8eb2b29c
commit 57a598c013

View File

@@ -120,7 +120,7 @@ jobs:
# Build dist once for Node-relevant changes and share it with downstream jobs.
build-artifacts:
needs: [docs-scope, changed-scope]
needs: [docs-scope, changed-scope, code-size]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true')
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
@@ -184,7 +184,7 @@ jobs:
retention-days: 1
install-check:
needs: [docs-scope, changed-scope]
needs: [docs-scope, changed-scope, code-size]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true')
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
@@ -238,7 +238,7 @@ jobs:
pnpm install --frozen-lockfile --ignore-scripts=false --config.engine-strict=false --config.enable-pre-post-scripts=true
checks:
needs: [docs-scope, changed-scope]
needs: [docs-scope, changed-scope, code-size]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true')
runs-on: blacksmith-4vcpu-ubuntu-2404
strategy:
@@ -387,29 +387,35 @@ jobs:
run: ${{ matrix.command }}
# Check for files that grew past LOC threshold in this PR (delta-only).
# On push events, all steps are skipped and the job passes (no-op).
# Heavy downstream jobs depend on this to fail fast on violations.
code-size:
if: github.event_name == 'pull_request'
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout
if: github.event_name == 'pull_request'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: false
- name: Setup Python
if: github.event_name == 'pull_request'
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Fetch base branch
if: github.event_name == 'pull_request'
run: git fetch origin ${{ github.base_ref }}:refs/remotes/origin/${{ github.base_ref }}
- name: Check code file sizes
if: github.event_name == 'pull_request'
run: |
python scripts/analyze_code_files.py \
--compare-to origin/${{ github.base_ref }} \
--threshold 1000
--threshold 1000 \
--strict
secrets:
runs-on: blacksmith-4vcpu-ubuntu-2404
@@ -437,7 +443,7 @@ jobs:
fi
checks-windows:
needs: [docs-scope, changed-scope, build-artifacts]
needs: [docs-scope, changed-scope, build-artifacts, code-size]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_node == 'true')
runs-on: blacksmith-4vcpu-windows-2025
env:
@@ -558,7 +564,7 @@ jobs:
# running 4 separate jobs per PR (as before) starved the queue. One job
# per PR allows 5 PRs to run macOS checks simultaneously.
macos:
needs: [docs-scope, changed-scope]
needs: [docs-scope, changed-scope, code-size]
if: github.event_name == 'pull_request' && needs.docs-scope.outputs.docs_only != 'true' && needs.changed-scope.outputs.run_macos == 'true'
runs-on: macos-latest
steps:
@@ -836,7 +842,7 @@ jobs:
PY
android:
needs: [docs-scope, changed-scope]
needs: [docs-scope, changed-scope, code-size]
if: needs.docs-scope.outputs.docs_only != 'true' && (github.event_name == 'push' || needs.changed-scope.outputs.run_android == 'true')
runs-on: blacksmith-4vcpu-ubuntu-2404
strategy: