Skip to content

Conversation

@IamLRBA
Copy link
Contributor

@IamLRBA IamLRBA commented Nov 30, 2025

Summary

This PR introduces a full PR automation setup designed to improve consistency, reduce manual overhead, and streamline the review process across the ODE project.

What’s Included

1. PR Title Validation

Added workflow: .github/workflows/pr-title-check.yml

  • Enforces Conventional Commits for PR titles (type(scope): subject)
  • Runs on PR open, edit, sync, and reopen
  • Ensures clear, structured, and standardized PR titles

2. Automatic PR Labeling

  • Added workflow: .github/workflows/auto-label.yml
  • Added configuration: .github/labeler.yml
  • Automatically labels PRs based on:
    • Changed file paths
    • PR body patterns
  • Supports commit-type labels, component labels, and special-purpose labels
  • Reduces manual triage work for maintainers

3. Monorepo-Aware CI Workflow

Added workflow: .github/workflows/ci.yml

  • Uses path-based change detection to run only relevant jobs
  • Supports each project component with tailored jobs:
    • Linting, testing, building
  • Includes caching and concurrency controls
  • Skips CI for documentation-only changes

Why This Is Important

  • Encourages consistent PR practices
  • Saves maintainer time through auto-labeling
  • Speeds up CI by only running necessary jobs
  • Improves clarity and predictability of contributions
  • Moves the project toward maintainable, scalable workflows

How to Verify

  • Open a PR with a valid and invalid title to test the validation workflow
  • Modify files in different components to confirm selective CI runs
  • Check that labels are applied automatically based on changes
  • Confirm all workflows run successfully in GitHub Actions

Linked Issue

Fixes #23

cc @r0ssing
@Ndacyayisenga-droid

- Add PR title validation workflow: .github/workflows/pr-title-check.yml
- Add automatic PR labeling workflow: .github/workflows/auto-label.yml
- Add monorepo-aware CI workflow: .github/workflows/ci.yml
- Add auto-labeling rules via .github/labeler.yml
- Improve PR consistency, labeling accuracy, and CI efficiency
@Ndacyayisenga-droid Ndacyayisenga-droid marked this pull request as draft December 1, 2025 06:03
Copy link
Contributor

@Bahati308 Bahati308 left a comment

Choose a reason for hiding this comment

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

Hello @IamLRBA , this is great, I think since we have labels we can assign to PRs, for now we can ignore this (labelling part of the PR) and make sure the CI checks pass first cause it is really a priority.

- Fixed labeler.yml to use supported file path patterns only
- Removed unsupported pr-body and changed-files syntax
- Added continue-on-error to auto-label workflow to prioritize CI checks
- Removed unnecessary comments and parameters from the auto-label workflow
- Cleaned up labeler.yml by removing an empty line for better readability
@IamLRBA
Copy link
Contributor Author

IamLRBA commented Dec 8, 2025

@Bahati308, I have been trying and I think the checks are good to go!
Thanks!

@Bahati308 Bahati308 marked this pull request as ready for review December 8, 2025 10:01
@Bahati308 Bahati308 merged commit 0403f32 into OpenDataEnsemble:main Dec 8, 2025
8 checks passed
@IamLRBA IamLRBA deleted the pr-automation branch December 10, 2025 10:48
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.

Implement Default PR Automation (Title Checks, Auto-Labeling, and CI)

2 participants