Bug Report BR-051: GitHub Actions Workflow Spam Emails
Bug Summary
GitHub Actions workflow fr-br-intake.yml was generating "No jobs were run" email notifications for every issue activity, causing email spam.
Environment
- Repository: earlution/ai-dev-kit
- Workflow:
.github/workflows/fr-br-intake.yml - Trigger: Issue events (opened, edited)
- Date Reported: 2026-03-12
Bug Description
The GitHub Actions workflow was configured to trigger on all issue opened and edited events, but the job had restrictive conditions requiring specific labels (needs-triage + type label). This caused the workflow to run but skip the job when conditions weren't met, generating "No jobs were run" email notifications for every issue activity.
Problematic Behavior
- ❌ Workflow triggered on every issue open/edit
- ❌ Jobs skipped if labels didn't match conditions
- ❌ "No jobs were run" email spam sent to repository maintainers
- ❌ No actual intake work being performed for most triggers
Root Cause Analysis
Original Workflow Configuration
on:
issues:
types: [opened, edited] # Too broad
jobs:
convert-issue-to-document:
if: |
contains(github.event.issue.labels.*.name, 'needs-triage') &&
(contains(github.event.issue.labels.*.name, 'bug') ||
contains(github.event.issue.labels.*.name, 'enhancement') ||
contains(github.event.issue.labels.*.name, 'ux-research') ||
contains(github.event.issue.labels.*.name, 'feedback'))
Issue
- Trigger: Every issue activity → Workflow runs
- Job Conditions: Require specific labels → Job skipped
- Result: Workflow runs but no jobs execute → Email notification
Solution Implemented
Workflow Trigger Optimization
on:
issues:
types: [opened, edited, labeled, unlabeled] # Better label detection
workflow_dispatch: # Manual triggering capability
Enhanced Conditional Logic
if: |
contains(github.event.issue.labels.*.name, 'needs-triage') &&
(contains(github.event.issue.labels.*.name, 'bug') ||
contains(github.event.issue.labels.*.name, 'enhancement') ||
contains(github.event.issue.labels.*.name, 'ux-research') ||
contains(github.event.issue.labels.*.name, 'feedback')) &&
github.event.action != 'edited' # Prevent duplicates
Fix Details
Changes Made
- Added
labeledandunlabeledevents for better label change detection - Added
workflow_dispatchfor manual triggering when needed - Excluded
editedevents to prevent duplicate runs on issue edits - Maintained existing label requirements for intake processing
New Behavior
- ✅ Workflow only triggers when appropriate labels are present
- ✅ No unnecessary workflow runs
- ✅ Eliminated spam email notifications
- ✅ Preserved intake functionality for properly labeled issues
Verification
Expected Results
- Before: Workflow runs on every issue activity → "No jobs were run" emails
- After: Workflow only runs when labels match → No spam emails
Test Cases
- ✅ Issue opened without labels → No workflow run
- ✅ Issue opened with
needs-triage+bug→ Workflow runs and processes - ✅ Issue edited → No workflow run (prevents duplicates)
- ✅ Issue labeled → Workflow runs if conditions met
- ✅ Manual workflow dispatch → Works for testing
Impact Assessment
Positive Impact
- Email Spam Eliminated: No more unnecessary "No jobs were run" notifications
- Resource Efficiency: Fewer unnecessary workflow runs
- User Experience: Cleaner notification stream for maintainers
- Functionality Preserved: Intake process still works correctly
Risk Assessment
- Low Risk: Changes only affect when workflow triggers, not core functionality
- Backward Compatible: Existing intake process unchanged
- Reversible: Easy to revert if issues arise
Related Documentation
Resolution
Status: COMPLETE ✅
Resolution Date: 2026-03-12
Resolution Method:
- Updated workflow trigger conditions in
.github/workflows/fr-br-intake.yml - Added better event filtering and manual dispatch capability
- Changes committed and pushed to main branch (commit: 64e6ed0d)
Verification:
- Workflow now only triggers when appropriate labels are present
- No more unnecessary "No jobs were run" email notifications
- Intake functionality preserved and working correctly
GitHub Issue Reference
- Issue Number: N/A (Internal fix)
- Fix Commit: 64e6ed0d
- Files Changed:
.github/workflows/fr-br-intake.yml - Review Status: Complete
This bug report documents the fix for GitHub Actions workflow spam emails and serves as a reference for future workflow maintenance.