Skip to content

feat(ci): headless GitHub Action for automated PR bounty evaluation (fixes #2) - #28

Open
NePreby wants to merge 12 commits into
Flow-Pulse:mainfrom
NePreby:feat/headless-github-action-bounty-evaluator
Open

NePreby wants to merge 12 commits into
Flow-Pulse:mainfrom
NePreby:feat/headless-github-action-bounty-evaluator

Conversation

@NePreby

@NePreby NePreby commented Nov 6, 2026

Copy link
Copy Markdown

Overview

Resolves #2 by implementing ci/github-action/: an automated headless GitHub Action running on pull_request: closed that evaluates .flowpulse.yml rules, extracts contributor Ed25519 Stellar addresses from PR descriptions, and provisions continuous per-second micro-stream bounties.

Changes

  1. GitHub Action Definition (ci/github-action/action.yml):

    • Configured with Node.js 20 runtime (node20).
    • Supports inputs: config-path (default .flowpulse.yml), dry-run (default true), stellar-secret-key, and network.
    • Produces step outputs: matched, rule-name, recipient, amount, token, duration-hours, and status.
  2. Core Evaluator Engine (ci/github-action/src/evaluator.ts):

    • Reuses verified extractStellarAddress logic supporting tagged formats (stellar: G..., stellar address: G...) and bare addresses with Ed25519 checksum validation.
    • Built-in .flowpulse.yml parser supporting multi-rule configurations, label filtering, tokens, and stream durations.
    • Deterministic rule matching engine rejecting unmerged PRs and reporting missing address diagnostics gracefully.
  3. Action Entrypoint & Bundler (ci/github-action/src/index.ts, ci/github-action/dist/index.js):

    • Reads GitHub Actions event payload from $GITHUB_EVENT_PATH.
    • Supports both safe dry-run mode (logs planned stream parameters to workflow output) and live execution.
  4. Documentation & Example Workflow (ci/github-action/README.md, .github/workflows/bounty.yml):

    • Comprehensive action documentation covering configuration, security considerations, and inputs/outputs.
    • Example ready-to-run workflow .github/workflows/bounty.yml triggering on pull_request: [closed].
    • Root configuration file .flowpulse.yml with example rules.
  5. Test Suite & Fixtures (ci/github-action/fixtures/pull_request_merged.json, ci/github-action/__tests__/action.test.ts, frontend/src/lib/__tests__/ci_action.test.ts):

    • Webhook fixture simulating merged pull request.
    • 5 comprehensive unit tests covering formatting varieties, YAML configuration parsing, fixture evaluation, unmerged PR rejection, and missing address reporting.
    • 90/90 vitest unit tests pass and TypeScript check is 100% clean.

Closes #2.


Bounty Payout Wallet (TRC20 USDT / TRX):
TMqmJjRgVS21NL2eFtfyHciTxvE4BqGmEv

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Headless GitHub Action that evaluates bounty rules on merged PRs

1 participant