API for CI interoperability/development #13197
Labels
modifies/api
This PR adds API routes or modifies them
type/proposal
The new feature has not been accepted yet but needs to be discussed first.
Uh oh!
There was an error while loading. Please reload this page.
Description
As a CI developer, I need the following APIs from Gitea in order to implement a CI system:
a. Check the mergeability status of the pull request (do not run CI on merge conflicts)
b. Benefit from server-side performance: it is best if the CI system can create merge verification branches/references on the server side to avoid checking out all projects as a client
c. Run CI checks against the latest version of the main branch (always rebase on CI pre-merge checks) by enabling recent merges
d. Ensure that merge trains/merge queues can be implemented in the future
e. If possible, keep those commits less visible (
git fetch
) by creating them onto references and not onto regular branchesf. Let the CI system manages it to avoid race conditions on force-pushes and PR updates (a unique volatile tip merge created by the VCS system leads to CI race conditions)
a. Avoid exposing branches to developers (keep them invisible on
git fetch
) if "1.e". above is not possibleb. Delete references so that unused ones can be cleaned up easily and avoid taking space
a. Post-merge verification builds provide visible feedback on Gitea
b. The feedback can be added or amended depending on the build types of builds (add or update)
The above represents the minimum required to have a well-functioning CI integration. If 1. and 2. should instead be provided by a Gitea plugin or extension, then please specify which one to use.
The text was updated successfully, but these errors were encountered: