beady-eye v0.24.0
Off the pass early: in beady-eye 0.24, a bead can stop waiting once its pull request leaves draft
This post is more than a year old. It describes beady-eye v0.24.0; the latest release notes say what has changed since.
beady-eye 0.24.0 gives bdi gates a second way to settle a
gh:pr gate. Put awaits=ready_for_review in the
gate's metadata, and it closes once its pull request is open and out of
draft, or merges. The bead behind it is ready while the review is
still going on. A gate without the key settles on merge, as before.
brew upgrade codeforbreakfast/tap/bdi
# or
cargo install beady-eye
bdi gates finds it up for review and closes the gate, and
the next look at the tree shows it ticked off.
Read the demo as text
▾ spoon ✓ 3s ago 1/8 3 agents
├── ○ spoon-1 The caff takes card payments 1/6
│ ├── ◐ .1 Wire the card reader to the till ◍ wK:p2 · working
│ ├── ◐ .3 Refund a cold bacon roll ◍ wK:p5 · idle
│ ├─▸ ○ .2 Print the VAT line on the receipt ⇢ till #42 0/2
│ └── ✓ .4 Price the menu in pence
└── ○ spoon-2 The tea timer forgets the second sugar 0/2
└── ◐ .1 Count sugars per cup, not per order ◍ wK:p3 · working
reading spoon, where bdi was started --all-projects reads every project
─────────────────────────────────────────────────────────────────────────────────────────────
no pane · nobody is working this bead
a all ? keys / find q quit
spoon $ bdi
spoon $ bdi gates
bdi gates: settling the gh:pr gates of 1 project, for every owner's repositories, every 60s
greasy-spoon/till#42 is ready for review: spoon closed gate spoon-pou
^C
spoon $
▾ spoon ✓ 6s ago 2/8 3 agents
├── ○ spoon-1 The caff takes card payments 2/6
│ ├── ◐ .1 Wire the card reader to the till ◍ wK:p2 · working
│ ├── ◐ .3 Refund a cold bacon roll ◍ wK:p5 · idle
│ ├── ○ .2 Print the VAT line on the receipt 1/2
│ │ └┄┄ ✓ spoon-pou Gate: gh:pr 42 ⇢ till #42
│ └── ✓ .4 Price the menu in pence
└── ○ spoon-2 The tea timer forgets the second sugar 0/2
└── ◐ .1 Count sugars per cup, not per order ◍ wK:p3 · working
reading spoon, where bdi was started --all-projects reads every project
─────────────────────────────────────────────────────────────────────────────────────────────
no pane · nobody is working this bead
a all ? keys / find q quit
Set the key on the gate when you make it:
bd update "$gate" --set-metadata awaits=ready_for_review
Before you upgrade: the link is on the menu now
Until now, bdi drew a gate's pull-request link without being asked. From
0.24 it draws one only from a [[badges]] entry in your
config, and bdi --json no longer carries a
pull_request field. Add the README's entry to keep the link:
[[badges]]
key = "metadata.repo"
when = { await_type = "gh:pr", await_id = "[0-9]+" }
match = "(?<owner>[A-Za-z0-9_.-]+)/(?<name>[A-Za-z0-9_.-]+)"
render = "⇢ {name} #{await_id}"
short = "⇢ #{await_id}"
link = "https://github.com/{owner}/{name}/pull/{await_id}"
drawn_on = "blocked"
drawn_on = "blocked" is what puts ⇢ till #42
on the folded receipt in the demo. A badge can also choose its beads
now, with when and unless patterns over any of
the bead's fields, and place any field in its text. The
configuration guide
has the details.
bdi gates is gentler with GitHub, too. It asks about all of
a repository's gated pull requests in one query, and it waits out a
rate limit rather than spend the login's budget. Two instances can
split the owners between them with [gates] excluded_owners.
Up for review counts as served. Order up.