Skip to content

chore: back-merge main into develop - #2

Merged
lorem-dev merged 4 commits into
developfrom
main
Aug 2, 2026
Merged

chore: back-merge main into develop#2
lorem-dev merged 4 commits into
developfrom
main

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Automated back-merge of main into develop.

Latest commit on main: b4507f1 -- docs: record the setting the back-merge workflow needs

Opened by Back-merge main -> develop, run 30762708328.

Merge this (or turn on auto-merge) to keep develop in step with
main. Resolve any conflicts here rather than on develop.

The workflow's first run failed with "GitHub Actions is not permitted to
create or approve pull requests". That is a repository setting, off by
default, and no amount of `permissions:` in the workflow grants it -- so
it belongs written down next to the branch rules rather than rediscovered.
`a_genuine_upstream_failure_is_logged_at_warn_not_info` failed on CI for
v0.1.0 with "expected exactly one log line, got []". The harness set a
capture subscriber as the thread-local default, on the stated reasoning
that thread-local state is invisible to other tests. The state that
matters is not thread-local: `tracing` caches each callsite's `Interest`
in a process-wide table, computed the first time the callsite is hit,
and when a single dispatcher is alive `tracing-core` computes it by
asking the *registering thread's* default subscriber. The thread that
first reaches the `warn!` in `handle` is usually one running an ordinary
`send`, whose default is `NoSubscriber` -- which answers
`Interest::never()` and disables the callsite for every thread.

Replaced with one subscriber for the test binary, installed once, whose
`enabled` is unconditionally true, routing events to a per-thread sink.
Whichever thread registers a callsite now gets the same answer; target
filtering moved into `event`, which is not cached.

Measured on the built test binary at `--test-threads=6`, 300 runs each:
20 failures before, 0 after. Mutating the level from WARN to INFO still
fails the test.
The publish job downloaded every artifact in the run, not just the
`doppel-*` archives. That includes the two `docker-*` musl binaries built
for the image, both named plain `doppel`, so `merge-multiple` collapsed
them onto each other and `gh release create dist/*` attached the survivor
as a bare `doppel` of unstated architecture. v0.1.0 shipped with exactly
that asset next to the three tarballs.

`pattern: doppel-*` leaves the musl binaries where they are. The comment
in the musl job claimed the artifact namespace already did this; it did
not, because the glob it described was never written.
Two badges pointed at the documentation -- the site and the workflow that
builds it -- and none at releases or coverage. Replaced the workflow badge
with a release badge and a coverage badge, in the order skillkeeper uses:
download, docs, licence, coverage, CI.

Coverage is line coverage over the workspace with the test database up,
measured with `cargo llvm-cov --workspace --summary-only`: 92.64%.
Without a database it reads 83%, because the PostgreSQL store's tests
skip themselves.
@lorem-dev
lorem-dev merged commit 7d04a9c into develop Aug 2, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant