Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Sgl project Sglang CI Permissions Config

From Leeroopedia


Knowledge Sources
Domains CI/CD, Access Control
Last Updated 2026-02-10 00:00 GMT

Overview

A JSON configuration file that defines per-user CI permissions for the SGLang repository, controlling who can trigger, rerun, and manage CI workflows.

Description

CI_PERMISSIONS.json is a flat JSON dictionary mapping GitHub usernames to permission objects. Each user entry contains the following boolean and numeric fields:

  • can_tag_run_ci_label: Whether the user can add the "run CI" label to trigger CI runs.
  • can_rerun_failed_ci: Whether the user can rerun failed CI jobs.
  • can_rerun_stage: Whether the user can rerun individual CI stages via the /rerun-stage command.
  • cooldown_interval_minutes: Minimum minutes between consecutive CI triggers (0 means no cooldown).
  • reason: Either "top contributor" (automatically granted based on commit count) or "custom override" (manually granted by maintainers).

The file is managed by the update_ci_permission.py script, which automatically adds users from the top 50 contributors by commit count. A pre-commit hook ensures entries remain alphabetically sorted. The file currently contains over 140 authorized users, with cooldown intervals varying from 0 to 60 minutes depending on the user's trust level.

Usage

This file is consumed by the CI workflow infrastructure (pr-test.yml, pr-gate.yml, and related bot scripts) to determine whether a given GitHub user has permission to trigger or rerun CI jobs. It is referenced during pull request events and workflow dispatch operations.

Code Reference

Source Location

Schema Structure

{
    "<github_username>": {
        "can_tag_run_ci_label": true,
        "can_rerun_failed_ci": true,
        "cooldown_interval_minutes": 0,
        "reason": "top contributor",
        "can_rerun_stage": true
    }
}

Import

N/A -- This is a JSON configuration file consumed by CI workflow scripts.

I/O Contract

Inputs

Name Type Required Description
github_username string (JSON key) Yes The GitHub username of the contributor
can_tag_run_ci_label boolean Yes Permission to tag PRs with the run-CI label
can_rerun_failed_ci boolean Yes Permission to rerun failed CI jobs
can_rerun_stage boolean Yes Permission to rerun individual CI stages
cooldown_interval_minutes integer Yes Minimum cooldown between CI triggers (0 or 60)
reason string Yes Either "top contributor" or "custom override"

Outputs

Name Type Description
Permission decision boolean Whether the requesting user has the specified CI permission

Usage Examples

Top Contributor Entry (No Cooldown)

{
    "merrymercy": {
        "can_tag_run_ci_label": true,
        "can_rerun_failed_ci": true,
        "cooldown_interval_minutes": 0,
        "reason": "top contributor",
        "can_rerun_stage": true
    }
}

Custom Override Entry (With Cooldown)

{
    "BHZ-BER": {
        "can_tag_run_ci_label": true,
        "can_rerun_failed_ci": true,
        "cooldown_interval_minutes": 60,
        "reason": "custom override",
        "can_rerun_stage": true
    }
}

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment