Andrii Nikitin a335d04031
Some checks failed
go-generate-check / go-generate-check (pull_request) Successful in 8s
Integration tests / t (pull_request) Has been cancelled
pr: enforce all maintainer approvals when ReviewRequired is true
- Update MaintainershipMap.IsApproved to require approvals from all listed
  maintainers (excluding the submitter) when ReviewRequired is enabled.
- Split ReviewInterface logic to differentiate between approvals and
  rejections by adding IsRejectedBy and restricting IsReviewedBy to
  the APPROVED state.
- Fix premature removal of maintainer review requests in
  FindMissingAndExtraReviewers; ensure requests remain active if
  ReviewRequired is true and approvals are still missing.
- Ensure any maintainer rejection correctly triggers the cleanup of
  other redundant review requests.

Analysis Summary
The failures in test_006 and test_007 were caused by two primary logic bugs:
1. Conflated Review States: IsReviewedBy treated both "Approved" and "Request Changes" as the same state. This meant a rejection didn't properly trigger the "cleanup" logic, and an approval was indistinguishable from a rejection in several checks.
2. Greedy Reviewer Removal: The bot assumed that any maintainer approval meant all other maintainer requests could be removed. This contradicted the ReviewRequired flag, which (as seen in test_007) is intended to mandate multiple/all maintainer approvals before the PR is considered ready.
2026-03-03 15:52:25 +01:00
2025-08-25 13:53:09 +02:00
2025-01-21 17:19:18 +01:00
2025-09-16 22:30:18 +02:00
2025-10-02 17:05:34 +02:00
2025-10-24 10:39:31 +02:00
2026-03-02 16:55:57 +01:00
.
2024-07-19 14:29:50 +02:00
2025-04-07 19:03:02 +02:00
2026-02-16 21:40:58 +01:00
2025-10-28 12:54:22 +01:00

AutoGits

The bots that drive Git Workflow for package management

  • devel-importer -- helper to import an OBS devel project into a Gitea organization
  • gitea-events-rabbitmq-publisher -- takes all events from a Gitea organization (webhook) and publishes it on a RabbitMQ instance
  • gitea-status-proxy -- allows bots without code owner permission to set Gitea's commit status
  • group-review -- group review proxy
  • hujson -- translates JWCC (json with commas and comments) to Standard JSON
  • obs-forward-bot -- forwards PR as OBS sr (TODO)
  • obs-staging-bot -- build bot for a PR
  • obs-status-service -- report build status of an OBS project as an SVG
  • workflow-pr -- keeps PR to _ObsPrj consistent with a PR to a package update
  • workflow-direct -- update _ObsPrj based on direct pushes and repo creations/removals from organization
  • staging-utils -- review tooling for PR (TODO)
    • list PR
    • merge PR
    • split PR
    • diff PR
    • accept/reject PR

Bugs

Report bugs to issue tracker at https://src.opensuse.org/git-workflow/autogits

Build Status

Devel project build status (main branch):

staging branch build status:

Description
Git workflow bots
Readme 13 MiB
Languages
Go 86.5%
Python 10.1%
Shell 2.1%
Perl 0.7%
Makefile 0.4%
Other 0.2%