Skip to content

Gfi br creator#6

Merged
danielmarv merged 5 commits into
mainfrom
gfi-br-creator
Mar 6, 2026
Merged

Gfi br creator#6
danielmarv merged 5 commits into
mainfrom
gfi-br-creator

Conversation

@danielmarv

Copy link
Copy Markdown
Owner

This pull request updates the version of the step-security/harden-runner GitHub Action used across all workflow files from v2.15.0 to v2.15.1. This ensures that all CI jobs benefit from the latest security and functionality improvements provided by the action.

CI/CD Security Updates:

  • Updated the step-security/harden-runner action to version v2.15.1 in the following workflow files to enhance runner hardening and maintain consistency:
    • .github/workflows/bot-assignment-check.yml
    • .github/workflows/bot-beginner-assign-on-comment.yml
    • .github/workflows/bot-coderabbit-plan-trigger.yml
    • .github/workflows/bot-community-calls.yml
    • .github/workflows/bot-gfi-assign-on-comment.yml
    • .github/workflows/bot-gfi-candidate-notification.yaml
    • .github/workflows/bot-inactivity-unassign.yml
    • .github/workflows/bot-intermediate-assignment.yml
    • .github/workflows/bot-issue-reminder-no-pr.yml
    • .github/workflows/bot-linked-issue-enforcer.yml
    • .github/workflows/bot-merge-conflict.yml
    • .github/workflows/bot-next-issue-recommendation.yml
    • .github/workflows/bot-office-hours.yml
    • .github/workflows/bot-p0-issues-notify-team.yml
    • .github/workflows/bot-pr-draft-ready-reminder.yaml
    • .github/workflows/bot-pr-inactivity-reminder.yml
    • .github/workflows/bot-pr-linked-issue-not-assigned.yml
    • .github/workflows/bot-pr-missing-linked-issue.yml
    • .github/workflows/bot-verified-commits.yml
    • .github/workflows/bot-workflows.yml

… Candidate

Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Copilot AI review requested due to automatic review settings March 6, 2026 17:42
@github-actions

github-actions Bot commented Mar 6, 2026

Copy link
Copy Markdown
Hi @danielmarv, this is **LinkBot** 👋

Linking pull requests to issues helps us significantly with reviewing pull requests and keeping the repository healthy.

🚨 This pull request does not have an issue linked.
If this PR remains unlinked, it will be automatically closed.

Please link an issue using the following format:

Fixes #123

📖 Guide:
docs/sdk_developers/how_to_link_issues.md

If no issue exists yet, please create one:
docs/sdk_developers/creating_issues.md

Thanks!

@github-actions

github-actions Bot commented Mar 6, 2026

Copy link
Copy Markdown

Hi, this is WorkflowBot.
Your pull request cannot be merged as it is not passing all our workflow checks.
Please click on each check to review the logs and resolve issues so all checks pass.
To help you:

@danielmarv
danielmarv merged commit 9e2560b into main Mar 6, 2026
21 of 22 checks passed
@coderabbitai

coderabbitai Bot commented Mar 6, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 398d5ac8-949d-489f-8772-b6078698c7ea

📥 Commits

Reviewing files that changed from the base of the PR and between f620a85 and dc4c9ce.

📒 Files selected for processing (2)
  • .github/scripts/bot-identify-good-first-issue-candidates.js
  • .github/workflows/identify-good-first-issue-candidates.yml

Walkthrough

Introduces an automated GitHub Actions workflow and Node.js scanner script that identifies beginner-friendly tasks in repositories, extracting candidates from code patterns and generating corresponding GitHub issues for maintainer review.

Changes

Cohort / File(s) Summary
Automation Scanner Script
.github/scripts/bot-identify-good-first-issue-candidates.js
Node.js-based repository scanner that detects good first issue candidates through file traversal, extracts candidates from TODO/FIXME markers, error messages, typing gaps, validation inconsistencies, and missing tests. Includes safety checks, confidence scoring, deduplication, and safe issue creation with duplicate prevention.
GitHub Actions Workflow
.github/workflows/identify-good-first-issue-candidates.yml
Daily scheduled workflow with manual trigger that runs the scanner script. Configures permissions, environment variables for thresholds (max_issues_per_run, min_confidence), and coordinates execution of the candidate identification job on ubuntu-latest runner.

Sequence Diagram

sequenceDiagram
    actor Scheduler as Schedule/Manual Trigger
    participant Workflow as GitHub Actions<br/>Workflow
    participant Scanner as Node.js Scanner<br/>Script
    participant Repo as Repository
    participant GitHubAPI as GitHub API

    Scheduler->>Workflow: Trigger (daily or manual)
    Workflow->>Workflow: Setup runner & checkout
    Workflow->>Scanner: Execute with env vars<br/>(thresholds, limits)
    
    Scanner->>Repo: Traverse files
    Scanner->>Scanner: Extract candidates from:<br/>- TODO/FIXME markers<br/>- Weak error messages<br/>- Typing gaps<br/>- Validation issues<br/>- Missing tests
    
    Scanner->>Scanner: Validate & score candidates<br/>(confidence, scope, risk)
    Scanner->>Scanner: Deduplicate & sort<br/>by strength
    
    Scanner->>GitHubAPI: Check for existing similar issues
    GitHubAPI-->>Scanner: Existing issues list
    
    Scanner->>Scanner: Filter candidates<br/>(safety gates)
    
    Scanner->>GitHubAPI: Create issue for each candidate
    GitHubAPI-->>Scanner: Issue creation responses
    
    Scanner->>Workflow: Generate summary report
    Workflow->>Workflow: Post metrics to run summary
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch gfi-br-creator

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a new automation workflow that scans the repository for beginner-friendly improvement signals and (optionally) creates “Good First Issue Candidate” issues for maintainer review.

Changes:

  • Added a scheduled + manually-dispatchable workflow to run a “good first issue candidate” scan and create issues via actions/github-script.
  • Added a new repository-scanning script that walks files, applies heuristics (TODO/FIXME, weak errors, missing tests, etc.), deduplicates candidates, and creates labeled issues.
  • Uses pinned GitHub Action SHAs (including step-security/harden-runner@... # v2.15.1) in the new workflow.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
.github/workflows/identify-good-first-issue-candidates.yml New scheduled/dispatch workflow to run the candidate scanner and potentially create issues.
.github/scripts/bot-identify-good-first-issue-candidates.js New scanner/issue-creator logic and heuristics used by the workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +263 to +266
`- Rule: \`${candidate.rule}\``,
`- Location: \`${candidate.files[0]}:${candidate.line}\``,
`- Snippet: \`${candidate.snippet.slice(0, 220)}\``,
'',

Copilot AI Mar 6, 2026

Copy link

Choose a reason for hiding this comment

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

The issue body renders the evidence snippet as inline code wrapped in backticks, but candidate.snippet can contain backticks/newlines (e.g., Markdown, shell, or code), which can break formatting and make the issue body hard to read. Consider escaping backticks/newlines or rendering the snippet in a fenced code block with safe sanitization/truncation.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +7
name: Identify Good First Issue Candidates

on:
schedule:
# Daily scan at 09:00 UTC
- cron: '0 9 * * *'
workflow_dispatch:

Copilot AI Mar 6, 2026

Copy link

Choose a reason for hiding this comment

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

The PR description indicates only a step-security/harden-runner version bump, but this change set also introduces a new scheduled workflow that can create issues and a new repository-scanning script. Please update the PR title/description to reflect this added functionality or split it into a separate PR so the scope/review expectations are clear.

Copilot uses AI. Check for mistakes.
env:
MAX_ISSUES_PER_RUN: ${{ github.event.inputs.max_issues_per_run || '5' }}
MIN_CONFIDENCE: ${{ github.event.inputs.min_confidence || 'medium' }}
DRY_RUN: ${{ github.event.inputs.dry_run || 'false' }}

Copilot AI Mar 6, 2026

Copy link

Choose a reason for hiding this comment

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

On scheduled runs DRY_RUN will default to false, so this workflow can automatically create up to MAX_ISSUES_PER_RUN issues every day. If the intention is to require explicit opt-in before creating issues, consider defaulting scheduled runs to dry-run mode (or gating creation behind an input/branch check).

Suggested change
DRY_RUN: ${{ github.event.inputs.dry_run || 'false' }}
DRY_RUN: ${{ github.event_name == 'schedule' || github.event.inputs.dry_run == 'true' }}

Copilot uses AI. Check for mistakes.
Comment on lines +39 to +54
const IGNORED_DIRS = new Set([
'.git',
'.github/archive',
'.venv',
'venv',
'__pycache__',
'.mypy_cache',
'.pytest_cache',
'node_modules',
'dist',
'build',
'site-packages',
'.idea',
'.vscode',
'.ruff_cache',
]);

Copilot AI Mar 6, 2026

Copy link

Choose a reason for hiding this comment

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

IGNORED_DIRS includes .github/archive, but this repo’s archived content appears to live under .github/workflows/archive, .github/workflows/archived, and .github/scripts/archive. As written, the scanner will still traverse those archived directories and may generate noisy candidates from them; consider adding the actual archive paths to IGNORED_DIRS.

Copilot uses AI. Check for mistakes.
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.

2 participants