mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 17:53:39 +00:00
Isolate passive draft PR admission before job and scope eligibility while retaining ordinary supersession, deliberate draft conversion cancellation, and existing manual/push policies. Add actual-expression event-order regressions across nine ancillary workflows. Fixes #138571 (passive draft events displacing ready ancillary validation). Main CI admission is independently tracked in #138482; restricted security workflows and Periphery publication ordering remain outside this repair.
57 lines
2.3 KiB
YAML
57 lines
2.3 KiB
YAML
name: Plugin Init Scaffold Validation
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- ".github/workflows/plugin-init-scaffold-validation.yml"
|
|
- "package.json"
|
|
- "pnpm-lock.yaml"
|
|
- "scripts/validate-plugin-init-provider-scaffold.ts"
|
|
- "src/cli/plugins-authoring-command.ts"
|
|
- "src/cli/plugins-authoring-command.test.ts"
|
|
- "src/cli/plugins-cli.ts"
|
|
- "src/plugin-sdk/**"
|
|
pull_request:
|
|
types: [opened, reopened, synchronize, ready_for_review]
|
|
paths:
|
|
- ".github/workflows/plugin-init-scaffold-validation.yml"
|
|
- "package.json"
|
|
- "pnpm-lock.yaml"
|
|
- "scripts/validate-plugin-init-provider-scaffold.ts"
|
|
- "src/cli/plugins-authoring-command.ts"
|
|
- "src/cli/plugins-authoring-command.test.ts"
|
|
- "src/cli/plugins-cli.ts"
|
|
- "src/plugin-sdk/**"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
# Admission precedes job skips: isolate passive drafts before they can cancel useful work.
|
|
# Keep conversion events in the PR group where subscribed, as an intentional cancellation signal.
|
|
group: >-
|
|
${{ github.event_name == 'pull_request' && github.event.pull_request.draft && github.event.action != 'converted_to_draft'
|
|
&& format('{0}-passive-draft-{1}', github.workflow, github.run_id)
|
|
|| format('{0}-{1}', github.workflow, github.event_name == 'pull_request' && github.event.pull_request.number || github.ref) }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
validate-provider-scaffold:
|
|
name: Validate provider scaffold
|
|
if: github.event_name != 'pull_request' || !github.event.pull_request.draft
|
|
runs-on: ${{ vars.OPENCLAW_CI_RUNNER_BACKEND == 'github' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'openclaw/openclaw') && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
|
|
timeout-minutes: 30
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup Node environment
|
|
uses: ./.github/actions/setup-node-env
|
|
with:
|
|
cache-mode: restore
|
|
install-bun: "false"
|
|
|
|
- name: Generate and validate provider scaffold
|
|
run: pnpm test:plugins:init-provider-scaffold
|