Files
orca/.github/workflows/main-blocking-work.yml
T
Brennan Benson 890ad4d8aa Prevent new blocking work on Electron main in CI (#41263)
* WIP: guard blocking main-process APIs with file ratchets

* Cover declared SQLite receivers and preserve daemon guards

* Cover SQL iteration and shared synchronous IPC in ratchets
2026-11-11 16:24:55 -08:00

27 lines
987 B
YAML

name: Main blocking work guards
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: main-blocking-work-${{ github.ref }}
cancel-in-progress: false
jobs:
ratchets:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/install-node-dependencies
# Run the blocking-work ratchets over the full tree after every main merge.
- name: Enforce ratchets
run: |
node config/scripts/static-analysis/ratchets/runtime-lifecycle/check-main-sync-fs-ratchet.mjs
node config/scripts/static-analysis/ratchets/runtime-lifecycle/check-main-blocking-api-ratchet.mjs
# The PR preflight runs spawn separately, so the discovery runner intentionally excludes it.
- name: Enforce synchronous launches
if: '!cancelled()'
run: node config/scripts/static-analysis/process-boundaries/check-main-sync-spawn-ratchet.mjs