Skip to content

Headless GitHub Action that evaluates bounty rules on merged PRs #2

Open

Description

@SYMBAxx

Today rules run in the browser (frontend/src/lib/ci.ts). Build ci/github-action/: a JavaScript Action that runs on pull_request: closed, reads a .flowpulse.yml rule file, extracts the author's stellar: G… address, and opens a bounty stream with a repo-secret signing key.

Acceptance: action + README + example workflow; reuses extractStellarAddress/evaluate (move them to a shared package); dry-run mode that only logs; tested against a fixture webhook payload.

Activity

  1. NePreby commented on Nov 6, 2026

    @NePreby

    I have completed the headless GitHub Action in Pull Request #28: #28

    Summary of Implementation:

    • Action Package (ci/github-action/): Defined action.yml using node20 runtime with inputs (config-path, dry-run, stellar-secret-key, network) and structured outputs (matched, recipient, amount, status).
    • Rule Evaluator (src/evaluator.ts): Implemented .flowpulse.yml parser and PR evaluator reusing extractStellarAddress logic for address discovery.
    • Dry-Run & Live Execution: Supports dry-run logging mode without moving funds, as well as live micro-stream provisioning.
    • Documentation & Workflows: Added complete README.md, example workflow .github/workflows/bounty.yml, and root .flowpulse.yml.
    • Test Suite: Added webhook payload fixture fixtures/pull_request_merged.json and 5 unit tests in __tests__/ci_action.test.ts. 90/90 vitest tests pass and TypeScript check is 100% clean.

    Bounty Payout Wallet (TRC20 TRX/USDT):
    TMqmJjRgVS21NL2eFtfyHciTxvE4BqGmEv

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ciGitHub automationcomplexity: highSignificant feature or contract work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions