Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 124 additions & 0 deletions .github/CONTRIBUTION_REPORT_GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# πŸ“Š GSSoC'25 Contribution Report Workflow

This document explains how to use the GSSoC'25 Contribution Report workflow to generate comprehensive reports about contributor activities.

## πŸš€ How to Generate a Report

### Step 1: Navigate to GitHub Actions
1. Go to your repository on GitHub
2. Click on the **"Actions"** tab
3. Find the **"πŸ“Š Generate Contribution Report"** workflow in the left sidebar

### Step 2: Run the Workflow
1. Click on **"Run workflow"** button (green button on the right)
2. Configure the following options:

**Time Filter Options:**
- `1_day` - Last 1 Day
- `1_week` - Last 1 Week
- `1_month` - Last 1 Month (default)
- `90_days` - Last 90 Days
- `6_months` - Last 6 Months
- `1_year` - Last 1 Year

**Output Format Options:**
- `markdown` - Human-readable report with rich formatting (default)
- `json` - Structured data format for programmatic use
- `csv` - Spreadsheet-compatible format

3. Click **"Run workflow"** to start the process

### Step 3: Download the Report
1. Wait for the workflow to complete (usually takes 1-2 minutes)
2. Scroll down to the **"Artifacts"** section
3. Download the artifact named: `gssoc25-contribution-report-{time_filter}-{format}`
4. Extract the ZIP file to access your report

## πŸ“‹ Report Contents

### Markdown Report Includes:
- **Summary Statistics**: Total PRs, unique contributors, time period
- **Contributor Rankings**: Sorted by number of contributions
- **Individual Contributor Details**: Profile links, avatars, PR lists
- **PR Timeline**: Chronological list of all contributions
- **Label Distribution**: Statistics about PR labels

### JSON Report Includes:
- **Metadata**: Generation timestamp, period, repository info
- **Summary**: Key statistics
- **Contributors Array**: Detailed contributor data with PR lists
- **Pull Requests Array**: Complete PR data

### CSV Reports Include:
- **contribution_report.csv**: All PRs with details
- **contributor_summary.csv**: Contributor summary table

## πŸ” What Gets Analyzed

The workflow analyzes:
- βœ… All Pull Requests labeled with `gssoc25`
- βœ… PRs within the specified time period
- βœ… Both open and merged PRs
- βœ… Contributor profiles and statistics
- βœ… PR labels and categorization
- βœ… Timeline and activity patterns

## πŸ“Š Sample Use Cases

### For Project Maintainers:
- **Monthly Reviews**: Generate monthly reports to track contributor activity
- **Event Summary**: Create end-of-event reports for GSSoC'25
- **Contributor Recognition**: Identify top contributors for acknowledgment

### For Contributors:
- **Progress Tracking**: See your contributions over time
- **Team Analysis**: Understand team dynamics and contribution patterns

### For Program Organizers:
- **Activity Monitoring**: Track participation across different time periods
- **Data Export**: Export data for further analysis or integration

## πŸ› οΈ Technical Details

- **API Limits**: Uses GitHub's REST API with pagination to handle large repositories
- **Rate Limiting**: Respects GitHub API rate limits automatically
- **Data Freshness**: Reports are generated in real-time from current repository data
- **Artifact Retention**: Reports are stored for 30 days as downloadable artifacts

## πŸ”§ Troubleshooting

### Common Issues:
1. **No PRs Found**: Ensure PRs have the `gssoc25` label
2. **Empty Report**: Check if the time period includes any labeled PRs
3. **Workflow Fails**: Verify repository permissions and GitHub token access

### Getting Help:
- Check the workflow run logs for detailed error messages
- Ensure you have the necessary permissions to run workflows
- Contact repository maintainers if issues persist

## πŸ“ˆ Report Examples

### Markdown Report Structure:
```
# πŸ† GSSoC'25 Contribution Report

## πŸ“ˆ Summary Statistics
- Total Pull Requests: 25
- Unique Contributors: 12
- Time Period: Last 1 Month

## πŸ‘₯ Contributors and Their Contributions
### 1. @contributor1 (8 PRs)
- [#123 Fix bug in attendance tracking](...)
- [#124 Add new feature](...)
...
```

### CSV Report Columns:
```
PR_Number,Title,Author,State,Created_Date,Updated_Date,Merged_Date,Labels,URL
144,"resolved the export csv for android 13+",FireFistisDead,closed,2025-08-24,2025-08-25,2025-08-25,"level3;gssoc25",https://github.com/...
```

This workflow provides a comprehensive view of GSSoC'25 contributions and helps maintain transparency and recognition within the contributor community.
46 changes: 41 additions & 5 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,36 @@ Automatically builds and releases signed APK files when PRs with release trigger
- πŸ”„ Re-triggerable by adding labels to closed PRs
- 🚫 Duplicate release prevention

### 2. **Welcome Workflow** (`welcome.yml`)
### 2. **GSSoC'25 Contribution Report** (`contribution-report.yml`)

Generates comprehensive contribution reports for GSSoC'25 participants based on PRs with the `gssoc25` label.

**Triggers:**

- Manual trigger via workflow_dispatch
- Configurable time filters (1 day, 1 week, 1 month, 90 days, 6 months, 1 year)
- Multiple output formats (Markdown, JSON, CSV)

**Features:**

- πŸ“Š Contributor statistics and rankings
- πŸ“… Pull request timeline analysis
- 🏷️ Label distribution statistics
- πŸ“ Downloadable report artifacts
- πŸ‘₯ Unique contributor identification
- πŸ“ˆ Contribution trends over time

### 3. **Welcome Workflow** (`welcome.yml`)

Welcomes new contributors and provides guidance.

## πŸ“š Documentation

| File | Description |
| -------------------------------------------- | ----------------------------------------------- |
| [`RELEASE_WORKFLOW.md`](RELEASE_WORKFLOW.md) | Complete guide for the automated release system |
| [`SECRETS_SETUP.md`](SECRETS_SETUP.md) | Quick setup guide for GitHub Secrets |
| File | Description |
| ------------------------------------------------------- | -------------------------------------------------- |
| [`RELEASE_WORKFLOW.md`](RELEASE_WORKFLOW.md) | Complete guide for the automated release system |
| [`SECRETS_SETUP.md`](SECRETS_SETUP.md) | Quick setup guide for GitHub Secrets |
| [`CONTRIBUTION_REPORT_GUIDE.md`](CONTRIBUTION_REPORT_GUIDE.md) | Guide for generating GSSoC'25 contribution reports |

## πŸš€ Quick Start for Releases

Expand All @@ -55,6 +75,22 @@ Welcomes new contributors and provides guidance.
- Workflow will re-run if no existing release found
- Duplicate releases are automatically prevented

## πŸ“Š Quick Start for Contribution Reports

1. **Navigate to Actions Tab**
- Go to GitHub Actions in your repository
- Find "Generate Contribution Report" workflow

2. **Run Workflow Manually**
- Click "Run workflow" button
- Select time period (1 day, 1 week, 1 month, 90 days, 6 months, 1 year)
- Choose output format (Markdown, JSON, CSV)

3. **Download Report**
- Wait for workflow completion
- Download the generated report from artifacts section
- Report includes contributor statistics, PR timeline, and label analysis

## 🎯 Version Bump Examples

| PR Title | Version Change |
Expand Down
Loading