apache / apache/gravitino

[Improvement] Gate merges on CI and enable auto-merge

Open
#12,544 0 comments 0 reactions 0 assignees View on GitHub
improvement
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 16h
Merged PRs (30d)
298

Description

## What would you like to be improved?

`main` has no required status checks, so a PR can merge on review approval alone even when CI is red ([#12531](https://github.com/apache/gravitino/pull/12531) is `BLOCKED` only on `REVIEW_REQUIRED` while every check is green; a failing `build` reports `UNSTABLE`, not `BLOCKED`). This lets `main` break silently and blocks any auto-merge story — 0 of 30 recent open PRs use auto-merge today.

## How should we improve?

Add one enforceable `Required CI` check and enable auto-merge, in two steps:

1. **Workflows.** A new `required-ci.yml` aggregates the existing suites via `workflow_call` into one `Required CI` check (green when all applicable suites pass; path-skipped suites count as green). Each suite keeps its `push` trigger and path filter; per-suite checks stay visible. Native actions only, so it clears the ASF allowlist (cf. [#11646](https://github.com/apache/gravitino/issues/11646)). `conflict-marker-check` stays standalone.
2. **Branch protection.** A `main` ruleset requires `Required CI` + `conflict-marker-check` (strict), and enables auto-merge (squash). Staged: land the workflow → canary → enable the ruleset.

This is also the foundation for the CI speed epic ([#3834](https://github.com/apache/gravitino/issues/3834)) — one reliable aggregate check lets redundant PR CI be consolidated without losing the gate.

Nevin Sent from my 🤖 (Cursor)

Contributor guide

Open the contributing guide

Research direction

Start by inventorying the existing CI workflows and their path filters, then review the workflow_call documentation and the repository's main branch ruleset settings. Add the staged aggregate workflow and configure the required checks and squash auto-merge as described; done means applicable suites produce one enforceable Required CI result, conflict-marker-check remains standalone, and the canary ruleset gates main.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.