Skip to content

feat(watch): next-gen watch with execute redesign, robustness, and PS1 parity #146

feat(watch): next-gen watch with execute redesign, robustness, and PS1 parity

feat(watch): next-gen watch with execute redesign, robustness, and PS1 parity #146

name: Squad PR Readiness
on:
pull_request_target:
branches: [dev, main, insider]
types: [opened, synchronize, reopened, edited, ready_for_review]
# NOTE: Using pull_request_target so we get a write token even for fork PRs.
# This is safe because we never check out or execute PR code — all data
# comes from the GitHub API.
permissions:
contents: read
pull-requests: write
issues: write
statuses: read
checks: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
readiness:
runs-on: ubuntu-latest
timeout-minutes: 5
# Skip if the PR is from a bot account (dependabot, renovate, etc.)
if: github.actor != 'dependabot[bot]'
steps:
- name: Checkout scripts
uses: actions/checkout@v4
with:
sparse-checkout: scripts/pr-readiness.mjs
sparse-checkout-cone-mode: false
- name: Check PR readiness
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
PR_AUTHOR: ${{ github.event.pull_request.user.login }}
PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
PR_BASE_REF: ${{ github.event.pull_request.base.ref }}
PR_DRAFT: ${{ github.event.pull_request.draft }}
PR_LABELS: ${{ toJson(github.event.pull_request.labels) }}
REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
RUN_NAME: ${{ github.workflow }}
run: node scripts/pr-readiness.mjs