Update sandogasa to v0.20.0 and bump its emojis dependency to 0.9
emojis changelog
0.9.0
June 20th, 2026
Contributed by Mike Fiedler
sandogasa changelog
v0.20.0
A minor bump because two things break: dbranch's --stage build no longer
makes the source package, and koji-lag's and dbranch's library types gained
fields. On-disk data and reports are unaffected.
- dbranch: making the source package is its own stage. "--stage build" is
now only the pbuilder-dist scratch build, so pass "--stage source,build"
(or "all", unchanged) where "build" alone used to do both. build and
upload now check what they are about to consume: a source package older
than the current commit offers a rebuild, a missing one is a sequencing
mistake and fails a non-interactive run naming the stage to run.
Breaking API: Stages gains "source", plan::debuild_argv takes an argument
- dbranch: a PPA upload no longer risks rejection for a missing tarball
- koji-lag: new backfill subcommand sweeping a long window a day at a time,
writing daily/YYYY/MM/DD and collating complete weeks and months, with
--pause-at for a clean break point and --if-exists for what to do about
work already on disk. New reports subcommand renders a swept tree without
fetching, and "report --out DIR" writes report.txt and report.json in one
pass
- koji-lag: a backfill walks each creation once. It seeks to the window
rather than paging back from today, and consecutive weeks carry their
overlap between them - three days that cost 108 pages now cost 47
- koji-lag: requests are paced by how long the hub takes to answer.
--duty-cycle names the share of one connection to aim for, so a loaded
hub is asked less often and one that recovers is asked more
- koji-lag: the SRPM rebuild is collected and reported as its own stage,
keyed by the arch of the host that ran it, and per-arch statistics are
broken out by the shape of the build - multi-arch, single-arch, and
noarch keyed by the machine that took it. A report now says how many
builds its bottleneck count is out of.
Breaking API: Dataset gains host_arches, TaskRecord gains method,
FetchOpts gains duty_percent
- koji-lag: progress output says where a sweep has reached and roughly what
is left, rather than a bare page number
- ebranch: check-wip reports what a build is waiting behind, showing an
earlier version's update still in testing and how long it has served,
and its summary names the work left on target branches once Rawhide only
waits. It no longer misses builds newer than the one it recorded
- koji: calls are bounded, with a separate longer bound for operations
meant to block. regen-repo is no longer killed after 30 seconds
Full details:
https://github.com/slopfest/sandogasa/blob/v0.20.0/CHANGELOG.md#v0200
v0.19.4
A bugfix release, cut promptly: check-wip in 0.19.2 and 0.19.3 could stop
noticing new builds, which is the one thing it exists to do. Nothing has
been yanked - the fault is a CLI under-reporting state, the library
crates sharing the version are unaffected, and the stale records the
older versions wrote are corrected on the next run.
- ebranch check-wip missed builds that were already in Koji. To avoid
asking about finished work it skipped any branch whose repositories
already carry the version being pushed - but with no COPR behind an
effort it used the newest build it had itself recorded, so once that
matched the repositories the branch looked finished, was never asked
about again, and the record could never change. Only a version staged
in a COPR closes a branch now, and a side tag's contents apply to
packages already tracked rather than only to new ones
- ebranch check-wip asks Koji in bulk where that is cheaper. A branch was
one koji list-tagged per package per tag, so fifteen packages meant
thirty subprocesses; a tag can be listed whole and read for every
package at once. Measured crossover is about seven packages, and both
forms are kept
- ebranch check-wip says where a newer build is waiting, from one
template so the cases stay comparable: "newer build in a COPR, not
landed in rawhide" and "newer build in a side tag, not landed in
rawhide". A build in a release's own tags still reads "not yet in the
repos", where a compose really is the only wait, and the branch line
names the side tag when no update carries the build yet
- Dev builds stop writing tens of gigabytes of debuginfo. [profile.dev]
debug = "line-tables-only" halves a cold build of the workspace and its
tests, from 6.3GB to 3.3GB, and backtraces keep file and line
- New make sweep target removing the trees the release gates leave
behind - rustdoc for both sides of a semver comparison, and an
instrumented copy of the workspace for coverage - which came to 25GB at
0.19.3. It leaves target/debug alone
Full details:
https://github.com/slopfest/sandogasa/blob/v0.19.4/CHANGELOG.md#v0194
v0.19.3
Everything here came out of using check-wip through F45's mass branching
and the Koji outage that came with it.
- koji calls are bounded - 30 seconds by default, SANDOGASA_KOJI_TIMEOUT
to override, 0 to wait forever. The koji CLI waits indefinitely, so a
hub outage hung every caller with no output at all. A hub that does not
answer is asked once: the first timeout latches per profile, and
hub_unresponsive lets a caller with queries left report from what it
already has. check-wip against a down hub now finishes in under a
minute with one warning instead of hanging
- ebranch check-wip seeds its ledger from a registered side tag, the way
it already did from a COPR, recording each package as built for that
branch rather than staged. An effort built straight into a side tag no
longer needs --add per package
- ebranch check-wip --prune names what to forget: packages, side-tags, or
both. A bare --prune still means packages. Neither list is pruned on a
question that went unanswered - a timeout, an unreachable hub or a
failed COPR leaves both alone and says which check established nothing
- ebranch check-wip --forget NAME,... drops packages and records the
refusal, so neither a COPR nor a side tag takes them up again. --add
reverses it
- ebranch check-wip no longer deletes packages it has no evidence about:
pruning acts only on packages a COPR the ledger follows once staged, so
a package added by hand or found in a side tag is left alone
- ebranch check-wip follows the distro through mass branching. Bodhi's
F45 had branch rawhide and now has f45; EPEL-10.3's is epel10; dist-git
has an epel10 branch but never an epel10.3. Releases are matched by
branch or name, two targets naming one release collapse to one, and a
target a side tag implies comes back when that branch becomes a release
of its own
- ebranch check-wip reports the age of what it shows. A line dated itself
by the oldest fact known about the branch, including facts it was not
printing, so a current branch read as a day stale
Full details:
https://github.com/slopfest/sandogasa/blob/v0.19.3/CHANGELOG.md#v0193
v0.19.2
- New ebranch check-wip subcommand - tracks a multi-package effort on its
way into the distro from a TOML ledger: where each package sits across
COPR, dist-git, its Review Request, Koji and Bodhi, per target release.
Flags: --copr, --target, --side-tag, --add, --set, --package, --prune,
--rescan-reviews, --offline, --json
- check-wip reports retirement properly - the dead.package reason, the
retirement date when it can be established from dist-git, and whether
anyone has a review open, rather than treating a dead package as work
waiting to be done
- check-wip distinguishes a branch, a target and a release - Bodhi's F45
has branch rawhide and EPEL-10.3 has branch epel10, so releases are
matched by branch or name, duplicate targets collapse into one, and a
package shipped for epel10.3 is no longer told it needs a branch of
that name
- ebranch check-update judges FTBFS and FailsToInstall bugs, and handles
Review Request bugs for new packages, so karma feedback for those no
longer has to be entered by hand
- ebranch submit proposes the bug list for an update, discovered from the
changelog and from open bugs on the components being shipped
- Config defaults can no longer authorize a write - apply, claim,
give-karma, prune, submit and yes are rejected as [defaults] keys, and
a --no-<flag> can override a default that switched something on
- sandogasa-bugzilla asks for the fields it deserializes, so an approved
fedora-review+ flag is actually seen
- sandogasa-bugclass no longer treats a package name as a version prefix,
which had let rust-ctor answer for rust-ctor-proc-macro
- poi-tracker searches Bugzilla by release version rather than by branch
name, which found nothing on numbered branches
- Release tooling verifies a publish landed (make check-published) and
documents how to compute --publish-interval
- Dependency: emojis 0.8 to 0.9
Full details:
https://github.com/slopfest/sandogasa/blob/v0.19.2/CHANGELOG.md#v0192
Please log in to add feedback.
This update's test gating status has been changed to 'waiting'.
Checking update: epel9-build-side-146833
Branch: al9 (@epel)
Packages
2 package(s): 2 updated, 0 new
0.8.2-1.el9→0.9.0-1.el9(rust-emojis)0.19.1-1.el9→0.20.0-1.el9(sandogasa)Analysis
No breakage expected.
Generated by ebranch 0.20.0 —
ebranch check-update -v epel9-build-side-146833 --notes-file /home/michel/Nextcloud/transfer/relnotes.md --stable-karma 1 --type enhancement --submit -b al9 -r @epelThis update's test gating status has been changed to 'ignored'.
This update has been submitted for testing by bodhi.
This update has been pushed to testing.
This update has been submitted for stable by bodhi.
This update has been pushed to stable.