Skip to content

chore: install GitHub-reward from idea2app/GitHub-reward#1

Closed
Copilot wants to merge 378 commits intomainfrom
copilot/add-github-reward-installation
Closed

chore: install GitHub-reward from idea2app/GitHub-reward#1
Copilot wants to merge 378 commits intomainfrom
copilot/add-github-reward-installation

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 18, 2026

Summary

  • Installs the GitHub-reward toolkit into .github/ by copying its .github/ directory contents verbatim.
  • Enables a reward-based contributor incentive workflow: issue creators can attach a monetary reward to a task issue; when the issue is closed by a merged PR, the reward is automatically distributed and tagged; a monthly cron aggregates stats into a release.
  • Applies security hardening based on review feedback: fixes shell command injection, GraphQL injection, overly-permissive Deno sandbox, unpinned action versions, missing label filters, and token scope issues.

Files added:

  • .github/ISSUE_TEMPLATE/reward-task.yml — structured issue form (currency, amount, optional payer)
  • .github/scripts/type.ts — shared Reward TypeScript interface
  • .github/scripts/deno.json — Deno runtime config (nodeModulesDir: none)
  • .github/scripts/share-reward.ts — on issue close: finds merged PR via GraphQL variables (injection-safe), splits reward equally among author + assignees (bots excluded), creates a reward-<issue> git tag, posts comment
  • .github/scripts/count-reward.ts — monthly: aggregates last month's reward-* tags per payee, creates statistic-YYYY-MM tag + GitHub release
  • .github/workflows/claim-issue-reward.yml — triggers on issues: closed (label-filtered to reward), validates amount, runs share-reward.ts
  • .github/workflows/statistic-member-reward.yml — runs 0 0 1 * *, runs count-reward.ts (skips if no new commits since last statistic tag)

Security fixes applied:

  • All ${{ ... }} expressions in workflow run: blocks are now quoted to prevent shell command injection
  • GraphQL query in share-reward.ts rewritten with named variables ($owner, $name, $number) passed via separate -f/-F flags — no user-controlled values interpolated into the query string
  • deno --allow-all replaced with --allow-run --allow-env --allow-read --allow-net=api.github.com in both workflows
  • All third-party actions pinned to commit SHAs: actions/checkout@de0fac2e (v6.0.2), denoland/setup-deno@667a34cd (v2.0.4), stefanbuck/github-issue-parser@10dcc541 (v3.2.3)
  • GH_TOKEN moved from workflow-level env to step-level env only on the step that requires it
  • Added if: contains(github.event.issue.labels.*.name, 'reward') job filter — workflow only runs on reward-labeled issues
  • Added "Validate amount" step with regex check ^[0-9]+(\.[0-9]+)?$ before the Deno script executes
  • Added concurrency group per issue number to prevent duplicate tags/comments on rapid re-close
  • $(git rev-parse HEAD) in count-reward.ts replaced with a captured variable passed as a proper zx argument

Validation

  • Backend tests passed
  • Frontend typecheck/build passed
  • OpenAPI SDK regenerated or checked when API contracts changed
  • Smoke test run when relevant

Commands run:

# No build/test steps required — pure GitHub Actions / Deno scripting addition

Risk

  • User-facing impact: None — additive only; no existing workflows or app code touched.
  • Deployment or migration impact: Workflows activate automatically on merge; requires contents: write and issues: write permissions (already granted via github.token). Workflow only fires when a reward-labeled issue is closed.
  • Rollback approach: Delete the 7 added files; workflows cease to trigger.

Notes

  • Follow-up work: Add a reward label to the repository labels so the issue template's auto-label and the job-level label filter both work correctly.
  • Docs or operator runbooks updated when behavior changed: N/A

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

yun-zhi-ztl and others added 30 commits March 14, 2026 19:31
Improve auth, search, publish, token, and dashboard UX
Polish search, favorites, publish, token, and auth UX
- Rename setup-agent-worktrees.sh -> parallel-init.sh
- Rename sync-agent-integration.sh -> parallel-sync.sh
- Rename 13-agent-parallel-workflow.md -> 13-parallel-workflow.md
- Add parallel-common.sh with shared utilities
- Add parallel-up.sh (sync + dev-all in one step)
- Add parallel-down.sh (stop integration stack)
- Remove agent-worktrees and agent-sync Makefile targets
- Remove AGENT_BASE_REF and AGENT_WORKTREE_ROOT variables
- Clean up compatibility shim references in docs
refactor(dev): replace agent-* commands with parallel-* workflow
feat(i18n): set English as default fallback language
yun-zhi-ztl and others added 12 commits March 18, 2026 15:27
* fix: keep download counts consistent across skill pages

* fix: stabilize empty search ordering across sorts

* fix: show disabled-account reason on login redirect

* fix: mute report input placeholder text

* fix: return skill detail to my skills page

* test: stabilize auth context filter coverage

* feat(publish): increase single file limit to 10MB

* feat(publish): expand allowed file extensions

* feat(publish): extend secret scanning to new text file types

* feat(publish): add content validation for new file types

* refactor(publish): inject configurable limits into SkillPackageArchiveExtractor

* feat(publish): support zip with single root directory wrapper

* feat(publish): expand determineContentType for new file types

* test(publish): update tests for new upload constraints
…iflytek#82)

* fix: keep download counts consistent across skill pages

* fix: stabilize empty search ordering across sorts

* fix: show disabled-account reason on login redirect

* fix: mute report input placeholder text

* fix: return skill detail to my skills page

* test: stabilize auth context filter coverage

* feat(publish): increase single file limit to 10MB

* feat(publish): expand allowed file extensions

* feat(publish): extend secret scanning to new text file types

* feat(publish): add content validation for new file types

* refactor(publish): inject configurable limits into SkillPackageArchiveExtractor

* feat(publish): support zip with single root directory wrapper

* feat(publish): expand determineContentType for new file types

* test(publish): update tests for new upload constraints

* fix(web): add REJECTED status label and styling to my-skills page

The resolveStatusLabel and resolveStatusClassName functions were missing
the REJECTED case, causing rejected skills to show raw status string
with no color styling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: prevent deleting the last remaining version of a skill

Backend: added version count check in SkillGovernanceService.deleteVersion()
Frontend: hide delete button when only one version remains

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test: fix and add tests for last-version deletion guard

- Fix deleteVersion_removesDraftFilesAndBundle: mock findBySkillId to
  return 2 versions so the new guard doesn't block the happy path
- Add deleteVersion_rejectsLastRemainingVersion: verify that deleting
  the only remaining version is rejected with the correct error code

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Non-admin users now see "Submitted for Review" instead of "Published
Successfully" after uploading a skill, based on the status returned
by the backend.
…, skill registry, layout, routing, and internationalization. (iflytek#87)
…review

fix(web): show pending review toast for non-admin skill publish
Signed-off-by: 何时 <93520596+likes1234-bro@users.noreply.github.com>
Co-authored-by: TechQuery <19969570+TechQuery@users.noreply.github.com>
Copilot AI changed the title [WIP] [GOOD-4] Install GitHub-reward using npx command chore: install GitHub-reward from idea2app/GitHub-reward Mar 18, 2026
Copilot AI requested a review from TechQuery March 18, 2026 11:18
Copy link
Copy Markdown
Member

@TechQuery TechQuery left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

根据 iflytek#91 (comment) 修改

Copy link
Copy Markdown
Author

Copilot AI commented Mar 25, 2026

根据 iflytek#91 (comment) 修改

Fixed in commit 7944896. Changes made based on the security review:

Critical (addressed):

  1. All ${{ ... }} expressions in claim-issue-reward.yml are now quoted to prevent shell command injection
  2. share-reward.ts now uses GraphQL variables (-f owner=, -f name=, -F number=) instead of direct string interpolation in the query body, preventing GraphQL injection
  3. Replaced --allow-all with --allow-run --allow-env --allow-read --allow-net=api.github.com in both workflows

Important (addressed):
4. All three third-party actions pinned to commit SHAs: actions/checkout@de0fac2e (v6.0.2), denoland/setup-deno@667a34cd (v2.0.4), stefanbuck/github-issue-parser@10dcc541 (v3.2.3)
5. Added if: contains(github.event.issue.labels.*.name, 'reward') to the job — only fires for reward-labeled issues
6. GH_TOKEN moved from workflow-level env to the specific step that needs it
7. Added a "Validate amount" step with [[ "$AMOUNT" =~ ^[0-9]+(\.[0-9]+)?$ ]] before the Deno script runs

Minor (addressed):

  • git rev-parse HEAD is now assigned to a headCommit variable before being used in count-reward.ts
  • Added concurrency group to prevent duplicate tag/comment from rapid re-close

Copilot AI requested a review from TechQuery March 25, 2026 20:22
TechQuery pushed a commit that referenced this pull request Apr 2, 2026
* Initial plan

* docs: add Usage with Agent Platforms section to README

Co-authored-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>

* Fix heading format for AstronClaw section

Updated the heading for AstronClaw in the README.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>

---------

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Co-authored-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
TechQuery pushed a commit that referenced this pull request Apr 2, 2026
docs: add Usage with Agent Platforms section to README (#1)
@TechQuery TechQuery closed this Apr 2, 2026
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.

10 participants