Deterministic GitHub pull-request and CI lifecycle automation shared by AsterCommunity repositories.
The action owns reusable mechanics; each target repository owns its product-specific path, label, workflow, and diagnostic configuration in .github/aster-automation.json.
- Idempotent changed-file labels while preserving human-owned labels.
- Native closing-issue lifecycle synchronization through GitHub GraphQL relationships.
- One aggregate Check Run for path-filtered workflows.
- One separate
PR ReadinessCheck Run for external checks, mergeability, draft state, current-head human review, and unresolved threads. - One update-in-place diagnostic comment per pull request HEAD.
- Fingerprinted default-branch and scheduled CI incident Issues with consecutive-success recovery.
- Scheduled open-PR reconciliation that repairs missed events, fork routing gaps, stale labels, readiness reports, and tracking-issue lifecycle.
- Deterministic milestone release-readiness dashboards and repository workflow/pin contract validation.
- Superseded-head cleanup and closed pull request recovery that terminate abandoned pending gates across the full PR history.
- Configuration validation without dependencies or generated bundles.
pull_request_targetandworkflow_runcallers execute a commit-pinned copy of this action and checkout only the target repository's trusted default branch.- Pull request titles, bodies, paths, job names, logs, and links are data, never shell source.
- The repository configuration is JSON, bounded to 256 KiB, validated before API writes, and constrained to
GITHUB_WORKSPACE. - A GitHub App installation token is the intended production identity. A workflow
GITHUB_TOKENremains suitable during migration. - Models do not control merge, release, priority, security, or incident closure decisions.
Copy and adapt examples/asterdrive.json to .github/aster-automation.json, then pin the action to an immutable commit:
- uses: AsterCommunity/aster-automation@FULL_COMMIT_SHA
with:
mode: pr-automation
token: ${{ steps.app-token.outputs.token }}
config-path: .github/aster-automation.jsonSupported modes:
pr-automationci-diagnosticspr-readinessreconcile-repositorymilestone-dashboardvalidate-configvalidate-repository
See migration and GitHub App identity for the complete workflow shape.
Requires Node.js 24 or newer and has no runtime dependencies.
npm run validateWorkflow callers must pin a full commit SHA. Release tags provide discovery and changelog identity, not a mutable execution trust boundary.
MIT