CI: leave jarsigner out of checks; the update script leaves others' commits alone

5fd85aa · Gabriel Morell · 2026-10-23 02:49

5 files +21 -2
Message
{commit_body(@commit)}

Files changed

modified .forgejo/workflows/checks.yml
+3 −1
@@ -77,5 +77,7 @@ jobs:
77 77 - name: Compile
78 78 run: mix compile
79 79
80 + # jarsigner (a JDK) isn't on the runner; the F-Droid signing test that
81 + # shells out to it says to leave it out where that's so.
80 82 - name: Test
81 − run: mix test
83 + run: mix test --exclude jarsigner
modified scripts/dependency-update
+18 −1
@@ -12,7 +12,9 @@ date with the result:
12 12
13 13 The branch is force-pushed and its pull request refreshed in place, so
14 14 there is never a pile of them; once an ecosystem has nothing left to
15 −fix, its pull request is closed. Packages it can't fix — no fixed
15 +fix, its pull request is closed. A branch someone else has pushed to —
16 +a person fixing what a bump broke — is left alone: their commits aren't
17 +the bot's to overwrite. Packages it can't fix — no fixed
16 18 version yet, or one the manifest's constraint won't reach — are listed
17 19 in the pull request, not touched.
18 20
@@ -216,6 +218,15 @@ def bump(ecosystem, lockfile, entries):
216 218 return bumped, left, carried
217 219
218 220
221 +def authors_besides_bot(base, branch):
222 + """Who other than the bot has commits on `branch` past `base`."""
223 + remote = f"refs/remotes/origin/{branch}"
224 + if run(["git", "rev-parse", "--verify", "--quiet", remote], check=False).returncode != 0:
225 + return []
226 + emails = run(["git", "log", "--format=%ae", f"origin/{base}..{remote}"]).stdout.split()
227 + return sorted({e for e in emails if e != BOT_EMAIL})
228 +
229 +
219 230 # ── the forge ───────────────────────────────────────────────────────────
220 231
221 232
@@ -329,6 +340,12 @@ def main():
329 340
330 341 existing = forge.open_pull(branch)
331 342
343 + others = authors_besides_bot(base, branch)
344 + if others:
345 + run(["git", "checkout", "--force", base])
346 + print(f"{human}: {branch} has commits by {', '.join(others)}; leaving it alone")
347 + continue
348 +
332 349 if not bumped:
333 350 run(["git", "checkout", "--force", base])
334 351 if existing:

Parents: 1e5369d