Wei Lu: GitHub Workflow to Maintain openIMIS

Wei Lu: GitHub Workflow to Maintain openIMIS

1. Title Slide

Title: GitHub Workflow to Maintain openIMIS
Subtitle: Sustaining Quality and Collaboration at Scale with Protected Branches, Structured Reviews, and Automation

 


 

2. Branch Protection Rules

  • Enforce branch protection to disable force pushes (admins included)

    • ✅ Already enabled

    • 🔧 Need to enable “apply to administrators” toggle

  • Require at least one approving review before merging (no admin bypass)

    • ✅ Already enabled

    • 🔧 Need to enable “apply to administrators” toggle

  • Require CI status checks before merging

    • Start with unit tests

    • Add integration / E2E tests (in draft)

    • Review linters, bring to health, then enable

    • Review coverage config, then enable

To-Dos:


 

3. More Descriptive PRs

  • PR must explain rationale: what was broken, why needed

  • For user-facing changes or bug fixes: include a short screen recording

  • Enforce norms with a GitHub PR template

To-Dos:

see - PR template dsicussion on 2025-11-25 Developers Deep Dive Call


 

4. Maintainer Pool & Review Triage Workflow

  • Organize maintainers into GitHub Teams (Cash Transfer, Interoperability, Solution Building, Maintenance, etc.)

  • Triage adds relevant teams → Code Review Assignment auto-assigns 2 reviewers per team (round-robin)

  • Reviewer assignment examples:

Module

Teams Assigned

Reviewers

Social Protection

Cash Transfer + Maintenance

4

Core Modules

Cash Transfer + Solution + Interoperability + Maintenance

8

ETL

Cash Transfer + Interoperability + Maintenance

6

Claim

Solution Building + Maintenance

4

  •  

    If no review in 48h → triage assigns backup reviewers

  • Maintainers can mark status as Busy to avoid assignment when on leave

 


 

5. Metrics for Maintainer Pool Health

  • Quarterly review of reviewer responsiveness (% PRs reviewed within 48h)

  • Remove consistently inactive contributors from active pool

  • Highlight top reviewers and recognize consistent responsiveness

  • For organizations under GIZ contracts, maintain minimum number of active contributors proportional to engagement scale

 


 

6. Automations for Productivity

  • Auto-merge: PR merges when all required checks (reviews + CI) pass

  • Stale Bot: keep repo clean

    • Nudge inactive PRs after 48h

    • Auto-close if no activity after 7 days (can be reopened manually)

To-do:

  • auto-merge needs to be tested

  • stale-bot: try out with (nudge: 4 days) and (no-activity: 14 days)


 

7. PR Lifecycle (Visual)

Flow:
Developer opens PR → Triage assigns teams → Reviewers auto-assigned → CI checks → Reviewer approval → Auto-merge if green → Metrics tracked

(Add arrows + icons for a visual workflow here)

 


 

8. Summary & Next Steps

Recap:

  • Protected branches (no force push, CI checks, mandatory reviews)

  • PR governance (templates, descriptive rationale, recordings)

  • Structured review workflow (maintainer pool, auto-assignment)

  • Automations (auto-merge, reminders, stale PR closure)

  • Metrics (review responsiveness, recognition, contributor pool health)

Call to Action:

Finalize branch protection settings

Roll out PR template

Build and publish maintainer directory + triage process

Implement automation (auto-merge + bots)

Launch quarterly review cycle for pool health