Merge pull request #141 from Mic92/faster-github
Gitea: don't drop pull request events
This commit is contained in:
commit
22885edd30
|
@ -181,6 +181,9 @@ class GiteaBackend(GitBackend):
|
||||||
def create_change_hook(self) -> dict[str, Any]:
|
def create_change_hook(self) -> dict[str, Any]:
|
||||||
return {
|
return {
|
||||||
"secret": self.webhook_secret,
|
"secret": self.webhook_secret,
|
||||||
|
# The "mergable" field is a bit buggy,
|
||||||
|
# we already do the merge locally anyway.
|
||||||
|
"onlyMergeablePullRequest": False,
|
||||||
}
|
}
|
||||||
|
|
||||||
def create_avatar_method(self) -> AvatarBase | None:
|
def create_avatar_method(self) -> AvatarBase | None:
|
||||||
|
|
|
@ -17,14 +17,17 @@ from buildbot.www.auth import AuthBase
|
||||||
from buildbot.www.avatar import AvatarBase, AvatarGitHub
|
from buildbot.www.avatar import AvatarBase, AvatarGitHub
|
||||||
from buildbot.www.oauth2 import GitHubAuth
|
from buildbot.www.oauth2 import GitHubAuth
|
||||||
from twisted.internet import defer, threads
|
from twisted.internet import defer, threads
|
||||||
from twisted.internet.defer import ensureDeferred
|
|
||||||
from twisted.python import log
|
from twisted.python import log
|
||||||
from twisted.python.failure import Failure
|
from twisted.python.failure import Failure
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from buildbot.process.log import StreamLog
|
from buildbot.process.log import StreamLog
|
||||||
|
|
||||||
from .common import http_request, paginated_github_request, slugify_project_name
|
from .common import (
|
||||||
|
http_request,
|
||||||
|
paginated_github_request,
|
||||||
|
slugify_project_name,
|
||||||
|
)
|
||||||
from .projects import GitBackend, GitProject
|
from .projects import GitBackend, GitProject
|
||||||
from .secrets import read_secret_file
|
from .secrets import read_secret_file
|
||||||
|
|
||||||
|
@ -78,15 +81,6 @@ class GithubConfig:
|
||||||
return read_secret_file(self.token_secret_name)
|
return read_secret_file(self.token_secret_name)
|
||||||
|
|
||||||
|
|
||||||
class AsyncGitHubStatusPush(GitHubStatusPush):
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def sendMessage( # noqa: N802
|
|
||||||
self, reports: list[dict[str, Any]]
|
|
||||||
) -> Generator[Any, object, Any]:
|
|
||||||
# Don't block the CI on the GitHub status updates
|
|
||||||
yield ensureDeferred(super().sendMessage(reports))
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class GithubBackend(GitBackend):
|
class GithubBackend(GitBackend):
|
||||||
config: GithubConfig
|
config: GithubConfig
|
||||||
|
@ -109,7 +103,7 @@ class GithubBackend(GitBackend):
|
||||||
)
|
)
|
||||||
|
|
||||||
def create_reporter(self) -> ReporterBase:
|
def create_reporter(self) -> ReporterBase:
|
||||||
return AsyncGitHubStatusPush(
|
return GitHubStatusPush(
|
||||||
token=self.config.token(),
|
token=self.config.token(),
|
||||||
# Since we dynamically create build steps,
|
# Since we dynamically create build steps,
|
||||||
# we use `virtual_builder_name` in the webinterface
|
# we use `virtual_builder_name` in the webinterface
|
||||||
|
|
Loading…
Reference in a new issue