OWASP / OWASP/openshield

ci: enforce required checks and two-person promotion on dev and main

Open
#298 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core infra priority: critical
Dominant language
Python
Stars
57
Forks
68
Avg merge
3d 15h
Merged PRs (30d)
17

Description

What is wrong

The documented process says CI and approval are required before merge. The GitHub branch API currently reports both dev and main as protected, but required status-check enforcement is off with no required checks/contexts. Repository rulesets are empty.

The current token cannot inspect classic approval settings, so those must be verified by an administrator rather than assumed.

Evidence: live branch API checked 2026-08-21; documentation at docs/ci-pipeline.md:143-154.

Required work

  • Export and review the effective protection/ruleset configuration for both branches.
  • Require PRs, strict/up-to-date status checks and conversation resolution.
  • Require the stable CI Summary plus CodeQL, DCO and dependency/security gates selected by the maintainers.
  • Require code-owner review and two-person review for main promotion and all auth/scoring/compliance/infra changes.
  • Restrict and audit admin bypass; define emergency procedure.
  • Run post-merge or merge-queue CI, not PR-only assurance.
  • Keep GitHub documentation generated/aligned with effective settings.

Acceptance criteria

  • A deliberately failing required check prevents merge on both branches.
  • A stale head cannot merge when strict mode is required.
  • Main promotion cannot be self-approved by its author.
  • An exported configuration or automated assertion is retained as evidence.
  • The documented feature → dev → main process matches effective GitHub behavior.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/ci-pipeline.md:143-154 and inspect the effective GitHub branch protection and ruleset configuration for dev and main, with an administrator verifying classic approval settings. Done means the required checks, two-person promotion, bypass controls, post-merge or merge-queue CI, and documented feature → dev → main process are aligned, with an exported configuration or automated assertion retained as evidence.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, github-actions
Domain
ci-cd, devops, release, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.