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: group: ${{ 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: ${{ github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04' }} timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Setup Node environment uses: ./.github/actions/setup-node-env with: install-bun: "false" - name: Generate and validate provider scaffold run: pnpm test:plugins:init-provider-scaffold