Cache activity before opening retirement PRs - #120
Merged
Merged
Conversation
MattSturgeon
reviewed
Jul 9, 2026
MattSturgeon
left a comment
Collaborator
There was a problem hiding this comment.
Awesome!
I won't pretend to have fully digested the bash impl, so don't be offended if I spot something worth commenting on later.
SGTM overall, though. Nice idea to mitigate GitHub's flakiness!
Collaborator
Author
|
Every one of your comments makes me want to rewrite it in github-script, @MattSturgeon :-) Thanks for taking a look. I'll cogitate on these comments. |
Collaborator
Author
|
I rewrote it in GitHub script. |
philiptaron
force-pushed
the
issue-100
branch
2 times, most recently
from
September 26, 2026 14:23
0cb4b2c to
60b7076
Compare
What does it do? In short, we persist the latest observed merge activity and the first inactive observation between workflow runs using a GitHub workflow artifact. A missing `/commits` response now starts a confirmation window instead of immediately opening a retirement PR. The result is that cached positive activity can keep active committers from being retired when GitHub returns an empty result spuriously. Fixes NixOS#100
Setting `shell: bash` explicitly makes GitHub run steps with `bash --noprofile --norc -eo pipefail` instead of `bash -e`, so a failure early in a pipeline fails the step. This makes the manual `set -o pipefail` in the nomination workflow redundant.
philiptaron
force-pushed
the
issue-100
branch
from
September 26, 2026 14:27
60b7076 to
ae36697
Compare
MattSturgeon
approved these changes
Sep 26, 2026
MattSturgeon
left a comment
Collaborator
There was a problem hiding this comment.
Thanks for pushing this through! I didn't clone and test, but I did go over the diff again and everything seems reasonable. Let's give it a go 🚀
Collaborator
|
I've re-enabled the retire workflow. Hopefully it behaves itself going forward! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I hate those "whoops" issues that #100 creates. Here's one kind of dumb take on fixing it.
Sorry for the bash overload. I didn't want to rewrite this in github script first.I rewrote the thing in GitHub script.
What does it do? In short, we persist the latest observed merge activity and the first inactive observation between workflow runs using a GitHub workflow artifact. A missing
/commitsresponse now starts a confirmation window instead of immediately opening a retirement PR. The result is that cached positive activity can keep active committers from being retired when GitHub returns an empty result spuriously.I don't really love the resulting code. I'd sort of like to rewrite the whole thing.I rewrote the whole thing.
Fixes #100