The forge announces every merge, whoever made it
The merge tool emitted at the instant it acted; a merge made in the forge's own pages or over its API emitted nothing, and the mesh went on believing every module current with its source (novox/hq 04-ISSUES/131). Merged pull requests are now watched the way repositories are: what the forge holds, asked for on a tick, announced once, with the merge commit and the clone URL a build needs. What has been announced is kept beside the module's state, so a restart does not announce the whole history again, and a first tick with no record announces nothing.
This commit is contained in:
@@ -231,6 +231,8 @@ export function getGiteaTools(gitea: GiteaClient): ToolDefinition[] {
|
||||
// Read the PR first, so the merged event carries a title and branches, not just a number.
|
||||
const pull = await gitea.getPullRequest(owner, repo, number);
|
||||
await gitea.mergePullRequest(owner, repo, number, method, deleteBranch);
|
||||
// Read it again: the merge commit only exists now, and it is what a build is made from.
|
||||
const merged = await gitea.getPullRequest(owner, repo, number);
|
||||
await emit("pull.merged", {
|
||||
owner,
|
||||
repo,
|
||||
@@ -238,6 +240,8 @@ export function getGiteaTools(gitea: GiteaClient): ToolDefinition[] {
|
||||
title: pull.title,
|
||||
head: pull.head,
|
||||
base: pull.base,
|
||||
merge_commit_sha: merged.merge_commit_sha,
|
||||
merged_at: merged.merged_at,
|
||||
method,
|
||||
html_url: pull.html_url,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user