Просмотр исходного кода

ci(windows): observe runtime coverage and snapshots

docs: record cross-platform gate boundaries
imccyu 2 месяцев назад
Родитель
Сommit
3a82b3edd7
3 измененных файлов с 25 добавлено и 5 удалено
  1. 3 0
      .github/AGENTS.md
  2. 19 5
      .github/workflows/ci.yml
  3. 3 0
      scripts/AGENTS.md

+ 3 - 0
.github/AGENTS.md

@@ -0,0 +1,3 @@
+# AGENTS.md — CI gates
+
+Run Windows gates from native `pwsh`, invoke pnpm shell-free, and normalize repo-relative glob paths to `/` at ingestion. Keep platform fixes at each gate boundary; do not add a shared platform layer.

+ 19 - 5
.github/workflows/ci.yml

@@ -182,11 +182,9 @@ jobs:
       - name: Build (tsc -b + tsdown)
         run: pnpm run build
 
-  # Observational, non-blocking Windows static, lint, and artifact lanes. Coverage
-  # and snapshot stay Linux-only until their platform-specific runtime failures
-  # have dedicated support. Run the gates from native PowerShell: an MSYS parent
-  # would change the environment being measured. This job intentionally stays
-  # out of all-checks-passed.needs.
+  # Observational, non-blocking Windows mirror of the Linux gate lanes. Run the
+  # gates from native PowerShell: an MSYS parent would change the environment
+  # being measured. This job intentionally stays out of all-checks-passed.needs.
   windows-gates:
     continue-on-error: true
     runs-on: windows-2025
@@ -194,6 +192,7 @@ jobs:
     env:
       DSH_GATE_CONCURRENCY: ${{ matrix.gate_concurrency }}
       DSH_PUBLINT_CONCURRENCY: ${{ matrix.publint_concurrency }}
+      DSH_COVERAGE_MAX_WORKERS: ${{ matrix.coverage_max_workers }}
       DSH_ESLINT_CACHE: ${{ matrix.eslint_cache }}
     strategy:
       fail-fast: false
@@ -203,16 +202,31 @@ jobs:
             command: pnpm run check:ci:static
             gate_concurrency: '4'
             publint_concurrency: '8'
+            coverage_max_workers: ''
             eslint_cache: ''
           - lane: lint
             command: pnpm run check:ci:lint
             gate_concurrency: '1'
             publint_concurrency: '8'
+            coverage_max_workers: ''
             eslint_cache: '1'
+          - lane: coverage
+            command: pnpm run check:ci:coverage
+            gate_concurrency: '1'
+            publint_concurrency: '8'
+            coverage_max_workers: '4'
+            eslint_cache: ''
+          - lane: snapshot
+            command: pnpm run check:ci:snapshot
+            gate_concurrency: '1'
+            publint_concurrency: '8'
+            coverage_max_workers: ''
+            eslint_cache: ''
           - lane: artifacts
             command: pnpm run check:ci:artifacts
             gate_concurrency: '3'
             publint_concurrency: '8'
+            coverage_max_workers: ''
             eslint_cache: ''
     steps:
       - uses: actions/checkout@v6

+ 3 - 0
scripts/AGENTS.md

@@ -0,0 +1,3 @@
+# AGENTS.md — Repository scripts
+
+Gate-related scripts follow the [CI gate rules](../.github/AGENTS.md).