Skip to content

API for CI interoperability/development #13197

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
3 tasks
ita1024 opened this issue Oct 18, 2020 · 1 comment
Closed
3 tasks

API for CI interoperability/development #13197

ita1024 opened this issue Oct 18, 2020 · 1 comment
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.

Comments

@ita1024
Copy link

ita1024 commented Oct 18, 2020

  • Gitea version (or commit ref): latest
  • Git version: N/A
  • Operating system: N/A
  • Database: N/A

Description

As a CI developer, I need the following APIs from Gitea in order to implement a CI system:

  • Create merge commits on the server-side, so that I can:
    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 branches
    f. 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)
  • Create/delete references from or to branches which is necessary to:
    a. Avoid exposing branches to developers (keep them invisible on git fetch) if "1.e". above is not possible
    b. Delete references so that unused ones can be cleaned up easily and avoid taking space
  • Add/update/remove inline comments on commits so that:
    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.

@lunny lunny added the type/proposal The new feature has not been accepted yet but needs to be discussed first. label Oct 18, 2020
@lunny lunny added the modifies/api This PR adds API routes or modifies them label Nov 29, 2022
@techknowlogick
Copy link
Member

Closing as Gitea actions now exist, which can accomplish the above.

@go-gitea go-gitea locked as resolved and limited conversation to collaborators Oct 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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.
Projects
None yet
Development

No branches or pull requests

3 participants