Skip to content

Commit dc9d6c7

Browse files
committed
Revert "Add try build on check run start and complete"
This reverts commit 1eb681f.
1 parent 767ef77 commit dc9d6c7

File tree

10 files changed

+11
-532
lines changed

10 files changed

+11
-532
lines changed

.sqlx/query-33cf1b803a0b658f197ab26d87e2c6c4fe42128cb481a234372626f35392e809.json

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/bors/handlers/trybuild.rs

Lines changed: 5 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
use std::sync::Arc;
22

33
use anyhow::{Context, anyhow};
4-
use octocrab::params::checks::CheckRunOutput;
5-
use octocrab::params::checks::CheckRunStatus;
64

75
use crate::PgDbClient;
86
use crate::bors::RepositoryState;
@@ -35,9 +33,6 @@ pub(super) const TRY_MERGE_BRANCH_NAME: &str = "automation/bors/try-merge";
3533
// This branch should run CI checks.
3634
pub(super) const TRY_BRANCH_NAME: &str = "automation/bors/try";
3735

38-
// The name of the check run seen in the GitHub UI.
39-
const TRY_BUILD_CHECK_RUN_NAME: &str = "Bors try build";
40-
4136
/// Performs a so-called try build - merges the PR branch into a special branch designed
4237
/// for running CI checks.
4338
///
@@ -92,34 +87,10 @@ pub(super) async fn command_try_build(
9287
{
9388
MergeResult::Success(merge_sha) => {
9489
// If the merge was succesful, run CI with merged commit
95-
let build_id =
96-
run_try_build(&repo.client, &db, &pr.db, merge_sha.clone(), base_sha).await?;
90+
run_try_build(&repo.client, &db, &pr.db, merge_sha.clone(), base_sha).await?;
9791

9892
handle_label_trigger(repo, pr.number(), LabelTrigger::TryBuildStarted).await?;
9993

100-
// Create a check run to track the try build status in GitHub's UI.
101-
// This gets added to the PR's head SHA so GitHub shows UI in the checks tab and
102-
// the bottom of the PR.
103-
let check_run = repo
104-
.client
105-
.create_check_run(
106-
TRY_BUILD_CHECK_RUN_NAME,
107-
&pr.github.head.sha,
108-
CheckRunStatus::InProgress,
109-
CheckRunOutput {
110-
title: "Bors try build".to_string(),
111-
summary: "".to_string(),
112-
text: None,
113-
annotations: vec![],
114-
images: vec![],
115-
},
116-
&build_id.to_string(),
117-
)
118-
.await?;
119-
120-
db.update_build_check_run_id(build_id, check_run.id.into_inner() as i64)
121-
.await?;
122-
12394
repo.client
12495
.post_comment(
12596
pr.number(),
@@ -205,18 +176,17 @@ async fn run_try_build(
205176
pr: &PullRequestModel,
206177
commit_sha: CommitSha,
207178
parent_sha: CommitSha,
208-
) -> anyhow::Result<i32> {
179+
) -> anyhow::Result<()> {
209180
client
210181
.set_branch_to_sha(TRY_BRANCH_NAME, &commit_sha, ForcePush::Yes)
211182
.await
212183
.map_err(|error| anyhow!("Cannot set try branch to main branch: {error:?}"))?;
213184

214-
let build_id = db
215-
.attach_try_build(pr, TRY_BRANCH_NAME.to_string(), commit_sha, parent_sha)
185+
db.attach_try_build(pr, TRY_BRANCH_NAME.to_string(), commit_sha, parent_sha)
216186
.await?;
217187

218188
tracing::info!("Try build started");
219-
Ok(build_id)
189+
Ok(())
220190
}
221191

222192
enum MergeResult {
@@ -337,16 +307,13 @@ fn auto_merge_commit_message(
337307

338308
#[cfg(test)]
339309
mod tests {
340-
use crate::bors::handlers::trybuild::{
341-
TRY_BRANCH_NAME, TRY_BUILD_CHECK_RUN_NAME, TRY_MERGE_BRANCH_NAME,
342-
};
310+
use crate::bors::handlers::trybuild::{TRY_BRANCH_NAME, TRY_MERGE_BRANCH_NAME};
343311
use crate::database::operations::get_all_workflows;
344312
use crate::github::CommitSha;
345313
use crate::tests::mocks::{
346314
BorsBuilder, Comment, GitHubState, User, Workflow, WorkflowEvent, default_pr_number,
347315
default_repo_name, run_test,
348316
};
349-
use octocrab::params::checks::{CheckRunConclusion, CheckRunStatus};
350317

351318
#[sqlx::test]
352319
async fn try_success(pool: sqlx::PgPool) {
@@ -894,74 +861,4 @@ try_failed = ["+foo", "+bar", "-baz"]
894861
})
895862
.await;
896863
}
897-
898-
#[sqlx::test]
899-
async fn try_build_creates_check_run(pool: sqlx::PgPool) {
900-
run_test(pool.clone(), |mut tester| async {
901-
tester.create_branch(TRY_BRANCH_NAME).expect_suites(1);
902-
tester.post_comment("@bors try").await?;
903-
tester.expect_comments(1).await;
904-
905-
tester.expect_check_run(
906-
&tester.default_pr().await.get_gh_pr().head_sha,
907-
TRY_BUILD_CHECK_RUN_NAME,
908-
"Bors try build",
909-
CheckRunStatus::InProgress,
910-
None,
911-
);
912-
913-
let check_run = tester.get_check_run().await?;
914-
insta::assert_snapshot!(check_run.summary, @"");
915-
insta::assert_snapshot!(check_run.text, @"");
916-
917-
Ok(tester)
918-
})
919-
.await;
920-
}
921-
922-
#[sqlx::test]
923-
async fn try_build_updates_check_run_on_success(pool: sqlx::PgPool) {
924-
run_test(pool.clone(), |mut tester| async {
925-
tester.create_branch(TRY_BRANCH_NAME).expect_suites(1);
926-
tester.post_comment("@bors try").await?;
927-
tester.expect_comments(1).await;
928-
929-
tester.workflow_success(tester.try_branch()).await?;
930-
tester.expect_comments(1).await;
931-
932-
tester.expect_check_run(
933-
&tester.default_pr().await.get_gh_pr().head_sha,
934-
TRY_BUILD_CHECK_RUN_NAME,
935-
"Bors try build",
936-
CheckRunStatus::Completed,
937-
Some(CheckRunConclusion::Success),
938-
);
939-
940-
Ok(tester)
941-
})
942-
.await;
943-
}
944-
945-
#[sqlx::test]
946-
async fn try_build_updates_check_run_on_failure(pool: sqlx::PgPool) {
947-
run_test(pool.clone(), |mut tester| async {
948-
tester.create_branch(TRY_BRANCH_NAME).expect_suites(1);
949-
tester.post_comment("@bors try").await?;
950-
tester.expect_comments(1).await;
951-
952-
tester.workflow_failure(tester.try_branch()).await?;
953-
tester.expect_comments(1).await;
954-
955-
tester.expect_check_run(
956-
&tester.default_pr().await.get_gh_pr().head_sha,
957-
TRY_BUILD_CHECK_RUN_NAME,
958-
"Bors try build",
959-
CheckRunStatus::Completed,
960-
Some(CheckRunConclusion::Failure),
961-
);
962-
963-
Ok(tester)
964-
})
965-
.await;
966-
}
967864
}

src/bors/handlers/workflow.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
use std::sync::Arc;
22
use std::time::Duration;
33

4-
use octocrab::params::checks::CheckRunConclusion;
5-
use octocrab::params::checks::CheckRunStatus;
6-
74
use crate::PgDbClient;
85
use crate::bors::CheckSuiteStatus;
96
use crate::bors::RepositoryState;
@@ -196,18 +193,6 @@ async fn try_complete_build(
196193

197194
handle_label_trigger(repo, pr.number, trigger).await?;
198195

199-
if let Some(check_run_id) = build.check_run_id {
200-
let (status, conclusion) = if has_failure {
201-
(CheckRunStatus::Completed, Some(CheckRunConclusion::Failure))
202-
} else {
203-
(CheckRunStatus::Completed, Some(CheckRunConclusion::Success))
204-
};
205-
206-
repo.client
207-
.update_check_run(check_run_id as u64, status, conclusion, None)
208-
.await?;
209-
}
210-
211196
let message = if !has_failure {
212197
tracing::info!("Workflow succeeded");
213198
try_build_succeeded_comment(&workflows, payload.commit_sha, &build)

src/database/client.rs

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ use super::operations::{
1515
get_prs_with_unknown_mergeable_state, get_pull_request, get_repository, get_repository_by_name,
1616
get_running_builds, get_workflow_urls_for_build, get_workflows_for_build,
1717
insert_repo_if_not_exists, set_pr_assignees, set_pr_priority, set_pr_rollup, set_pr_status,
18-
unapprove_pull_request, undelegate_pull_request, update_build_check_run_id,
19-
update_build_status, update_mergeable_states_by_base_branch, update_pr_mergeable_state,
20-
update_pr_try_build_id, update_workflow_status, upsert_pull_request, upsert_repository,
18+
unapprove_pull_request, undelegate_pull_request, update_build_status,
19+
update_mergeable_states_by_base_branch, update_pr_mergeable_state, update_pr_try_build_id,
20+
update_workflow_status, upsert_pull_request, upsert_repository,
2121
};
2222
use super::{ApprovalInfo, DelegatedPermission, MergeableState, RunId, UpsertPullRequestParams};
2323

@@ -181,13 +181,13 @@ impl PgDbClient {
181181
branch: String,
182182
commit_sha: CommitSha,
183183
parent: CommitSha,
184-
) -> anyhow::Result<i32> {
184+
) -> anyhow::Result<()> {
185185
let mut tx = self.pool.begin().await?;
186186
let build_id =
187187
create_build(&mut *tx, &pr.repository, &branch, &commit_sha, &parent).await?;
188188
update_pr_try_build_id(&mut *tx, pr.id, build_id).await?;
189189
tx.commit().await?;
190-
Ok(build_id)
190+
Ok(())
191191
}
192192

193193
pub async fn find_build(
@@ -214,14 +214,6 @@ impl PgDbClient {
214214
update_build_status(&self.pool, build.id, status).await
215215
}
216216

217-
pub async fn update_build_check_run_id(
218-
&self,
219-
build_id: i32,
220-
check_run_id: i64,
221-
) -> anyhow::Result<()> {
222-
update_build_check_run_id(&self.pool, build_id, check_run_id).await
223-
}
224-
225217
pub async fn create_workflow(
226218
&self,
227219
build: &BuildModel,

src/database/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,6 @@ pub struct BuildModel {
315315
/// The base commit SHA that this build is merged with (e.g., main branch HEAD).
316316
pub parent: String,
317317
pub created_at: DateTime<Utc>,
318-
/// The ID of the check run associated with the build.
319318
pub check_run_id: Option<i64>,
320319
}
321320

src/database/operations.rs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -946,24 +946,6 @@ pub(crate) async fn upsert_repository(
946946
.await
947947
}
948948

949-
pub(crate) async fn update_build_check_run_id(
950-
executor: impl PgExecutor<'_>,
951-
build_id: i32,
952-
check_run_id: i64,
953-
) -> anyhow::Result<()> {
954-
measure_db_query("update_build_check_run_id", || async {
955-
sqlx::query!(
956-
"UPDATE build SET check_run_id = $1 WHERE id = $2",
957-
check_run_id,
958-
build_id
959-
)
960-
.execute(executor)
961-
.await?;
962-
Ok(())
963-
})
964-
.await
965-
}
966-
967949
/// Removes the auto build associated with a PR and deletes the build record (if one exists).
968950
pub(crate) async fn delete_auto_build(
969951
executor: impl PgExecutor<'_>,

src/github/api/client.rs

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
use anyhow::Context;
22
use octocrab::Octocrab;
3-
use octocrab::models::checks::CheckRun;
43
use octocrab::models::{App, Repository};
5-
use octocrab::params::checks::{CheckRunConclusion, CheckRunOutput, CheckRunStatus};
64
use tracing::log;
75

86
use crate::bors::event::PullRequestComment;
97
use crate::bors::{CheckSuite, CheckSuiteStatus, Comment};
108
use crate::config::{CONFIG_FILE_PATH, RepositoryConfig};
119
use crate::database::RunId;
1210
use crate::github::api::base_github_html_url;
13-
use crate::github::api::operations::{
14-
ForcePush, MergeError, create_check_run, merge_branches, set_branch_to_commit, update_check_run,
15-
};
11+
use crate::github::api::operations::{ForcePush, MergeError, merge_branches, set_branch_to_commit};
1612
use crate::github::{CommitSha, GithubRepoName, PullRequest, PullRequestNumber};
1713
use crate::utils::timing::{measure_network_request, perform_network_request_with_retry};
1814
use futures::TryStreamExt;
@@ -169,39 +165,6 @@ impl GithubRepositoryClient {
169165
.map_err(|_| MergeError::Timeout)?
170166
}
171167

172-
/// Create a check run for the given commit.
173-
pub async fn create_check_run(
174-
&self,
175-
name: &str,
176-
head_sha: &CommitSha,
177-
status: CheckRunStatus,
178-
output: CheckRunOutput,
179-
external_id: &str,
180-
) -> anyhow::Result<CheckRun> {
181-
measure_network_request("create_check_run", || async {
182-
create_check_run(self, name, head_sha, status, output, external_id)
183-
.await
184-
.context("Cannot create check run")
185-
})
186-
.await
187-
}
188-
189-
/// Update a check run with the given check run ID.
190-
pub async fn update_check_run(
191-
&self,
192-
check_run_id: u64,
193-
status: CheckRunStatus,
194-
conclusion: Option<CheckRunConclusion>,
195-
output: Option<CheckRunOutput>,
196-
) -> anyhow::Result<CheckRun> {
197-
measure_network_request("update_check_run", || async {
198-
update_check_run(self, check_run_id, status, conclusion, output)
199-
.await
200-
.context("Cannot update check run")
201-
})
202-
.await
203-
}
204-
205168
/// Find all check suites attached to the given commit and branch.
206169
pub async fn get_check_suites_for_commit(
207170
&self,

0 commit comments

Comments
 (0)