autogits/workflow-pr/README.md

64 lines
1.7 KiB
Markdown
Raw Normal View History

2024-09-13 14:58:10 +02:00
Workflow-PR bot
===============
2024-08-02 16:27:38 +02:00
Keeps ProjectGit PR in-sync with a PackageGit PR
Areas of Responsibility
-----------------------
* Detects a PackageGit PR creation against a package and creates a coresponsing PR against the ProjectGit
* When a PackageGit PR is updated, the corresponding PR against the ProjectGit is updated
2024-08-27 17:55:03 +02:00
* Stores reference to the PackageGit PR in the headers of the ProjectGit PR comments, for later reference
2024-08-02 16:27:38 +02:00
* this allows ProjectGit PR to be merged to seperated later (via another tool, for example)
2024-08-27 17:55:03 +02:00
* Initiates all staging workflows via review requests
2024-08-02 16:27:38 +02:00
Target Usage
------------
Any project (devel, etc) that accepts PR
2024-09-30 15:28:25 +02:00
Config file
-----------
JSON
* _Workflows_: "pr" -- pr workflow enabled
* _Organization_: organization that holds all the packages
* _Branch_: branch updated in repo's
* _GitProjectName_: package in above org, or `org/package` for PrjGit
2024-09-30 16:19:40 +02:00
* _Reviewers_: accounts associated with mandatory reviews for PrjGit. Can trigger additional
review requests for PrjGit or associated PkgGit repos. Only when all reviews are
satisfied, will the PrjGit PR be merged.
2024-09-30 15:28:25 +02:00
example:
2024-09-30 15:36:54 +02:00
2024-09-30 15:35:46 +02:00
[
2024-09-30 15:36:54 +02:00
{
2024-09-30 15:37:43 +02:00
"Workflows": ["pr", "direct"],
"Organization": "autogits",
2024-09-30 15:28:25 +02:00
"GitProjectName": "HiddenPrj",
2024-09-30 16:19:40 +02:00
"Branch": "hidden",
"Reviewers": []
2024-09-30 15:36:54 +02:00
},
...
2024-09-30 15:35:46 +02:00
]
2024-09-30 15:36:54 +02:00
Maintainership
--------------
Maintainership information is defined per project. For reviews, package maintainers are coalesced
with project maintainers. A review by any of the maintainers is acceptable.
example:
{
"package1": [ "reviewer", "reviewer2"],
"package2": [],
// "project" maintainer
"": ["reviewer3", "reviewer4"]
}