fc: initial pull request evaluation support

The migration adds PR support, models expose PR fields, webhooks handle
PR events, and tests validate it. To be honest the migrations are a bit
redundant at the moment, but I'd like to handle my old deployments so
it's nice(r) to have them. I *am* testing those on baremetal.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I02fb4540b62d3e8159ac18b9fa63be916a6a6964
This commit is contained in:
raf 2026-02-05 23:04:58 +03:00
commit 2eae49f313
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
5 changed files with 1107 additions and 12 deletions

View file

@ -11,11 +11,16 @@ pub async fn create(
input: CreateEvaluation,
) -> Result<Evaluation> {
sqlx::query_as::<_, Evaluation>(
"INSERT INTO evaluations (jobset_id, commit_hash, status) VALUES ($1, $2, \
'pending') RETURNING *",
"INSERT INTO evaluations (jobset_id, commit_hash, status, pr_number, \
pr_head_branch, pr_base_branch, pr_action) VALUES ($1, $2, 'pending', \
$3, $4, $5, $6) RETURNING *",
)
.bind(input.jobset_id)
.bind(&input.commit_hash)
.bind(input.pr_number)
.bind(&input.pr_head_branch)
.bind(&input.pr_base_branch)
.bind(&input.pr_action)
.fetch_one(pool)
.await
.map_err(|e| {