Skip to content

GitHub Action for External Repos to Post Bounties#1272

Open
sepulchralvoid666 wants to merge 1 commit into
SolFoundry:mainfrom
sepulchralvoid666:feat/bounty-855-github-action-bounty
Open

GitHub Action for External Repos to Post Bounties#1272
sepulchralvoid666 wants to merge 1 commit into
SolFoundry:mainfrom
sepulchralvoid666:feat/bounty-855-github-action-bounty

Conversation

@sepulchralvoid666
Copy link
Copy Markdown

@sepulchralvoid666 sepulchralvoid666 commented May 14, 2026

Bounty #855 — GitHub Action for External Repos to Post Bounties

What

A reusable GitHub Action that external repositories can install to automatically convert labeled GitHub issues into SolFoundry bounties.

Features

  • Label detection: Triggers on issues.labeled event when the configured label (default: bounty) is added
  • Simple YAML config: All settings via with: inputs — no extra config files
  • Customizable reward tiers: Default reward, tier, deadline, and skills configurable at the workflow level
  • Per-issue overrides: Authors can add an HTML comment to override defaults per issue:
    <!-- solfoundry: reward=1000000 tier=t1 skills=rust,backend deadline=14 -->
    
  • Auto-comment: Posts a comment on the issue with a link to the created bounty
  • Dry-run mode: Test the action without actually creating bounties
  • Built with @actions/core + @actions/github: Standard GitHub Actions toolkit
  • Compiled via ncc: Single bundled dist/index.js for reliable execution

Files

  • actions/bounty-poster/action.yml — Action metadata and inputs
  • actions/bounty-poster/src/index.ts — Main action logic
  • actions/bounty-poster/src/types.ts — Internal types
  • actions/bounty-poster/dist/ — Compiled bundle
  • actions/bounty-poster/examples/workflow.yml — Example workflow
  • actions/bounty-poster/README.md — Usage docs

Acceptance Criteria

  • Simple YAML configuration for workflow setup
  • Label detection and bounty auto-posting
  • Customizable reward tiers and thresholds
  • Per-issue override support

Closes #855

Solana wallet for payout: 9PmjWFwM2mdnjBNjJyfNMTWGCnGAKFpywsLF9xcRF8PK

…lFoundry#855)

Composite action that converts labeled GitHub issues into
SolFoundry bounties. Supports per-issue overrides via HTML
comment metadata, configurable reward tiers, deadline,
and skill tags. Posts a comment with bounty link on the
issue after creation. Includes dry-run mode for testing.

Built with @actions/core, @actions/github, compiled via ncc.
@nagiexplorer88
Copy link
Copy Markdown

This action can create duplicate bounties after the first bounty label is added.

The workflow triggers on every issues.labeled event, but the code only checks whether the issue currently has the configured label:

if (!labels.includes(bountyLabel)) {
  core.info(`Issue #${issue.number} does not have label "${bountyLabel}" — skipping.`);
  return;
}

So if an issue already has bounty and someone later adds another label such as frontend or priority, the action runs again, sees that bounty is still present in issue.labels, and posts a second SolFoundry bounty for the same issue.

Since #855 is specifically for converting issues when the configured bounty label is added, this should check the event label itself, e.g. context.payload.label?.name === bountyLabel, before creating the bounty. That keeps later unrelated label changes from duplicating the bounty.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🏭 Bounty T2: GitHub Action for External Repos to Post Bounties

2 participants