Commit graph

25 commits

Author SHA1 Message Date
Breadway
9137b4d7c2 CI: refuse unsigned bakery index on stable tag releases
Some checks failed
check / check (push) Failing after 1s
dev release / build (push) Successful in 46s
beta (rc) release / build (push) Has been skipped
release / build (push) Successful in 37s
2026-08-16 00:50:22 +08:00
Breadway
b89e349342 Add freeze-frame annotate via optional satty/swappy
Some checks failed
check / check (push) Failing after 1s
dev release / build (push) Failing after 1s
After grim+slurp, satty (preferred) or swappy freezes the captured
frame for arrows/text/rect. New `breadshot annotate` / --annotate
and bread.command.shot.annotate. Missing tools warn and fall back
to the existing capture path. listen still honors region.
2026-08-15 23:55:36 +08:00
Breadway
ed371964c2 Bump version to v0.1.2
Some checks failed
beta (rc) release / build (push) Has been skipped
dev release / build (push) Failing after 1s
release / build (push) Failing after 1s
2026-08-15 23:05:47 +08:00
Breadway
365072d65e Honor bread.command.shot.region via breadshot listen
Some checks failed
dev release / build (push) Failing after 0s
Pin bread-utils to bread-ecosystem v0.7.2. breadshot listen
subscribes to bread.command.shot.**, runs the same region capture
as the CLI (clipboard-only), and emits bread.shot.region.done /
.failed.
2026-08-15 22:49:51 +08:00
Breadway
c68214a6ab Wire breadshot into the bread event bus (app id shot)
Some checks failed
check / check (push) Failing after 1s
dev release / build (push) Failing after 1s
Emit bread.shot.captured after a successful grim/wl-copy capture.
Fail-silent when breadd is down. No command verbs — breadshot is a
one-shot CLI; Lua workflows should bread.exec("breadshot …").
2026-08-15 22:15:03 +08:00
Breadway
5d1b8918d3 Track AGENTS.md
Some checks failed
check / check (push) Failing after 1s
2026-08-15 22:03:30 +08:00
Breadway
84539f2fcd Pin bread-utils to v0.7.1; document BOS screenshot binds
Some checks failed
check / check (push) Failing after 1s
bread-utils moves from bread-ecosystem tag v0.3.0 to v0.7.1.
README states breadshot is the grim/slurp/wl-copy orchestrator BOS
binds Super+Shift+S/C/P to (not grimblast), not a GUI editor, and
not bread-screenshots.
2026-08-15 21:36:05 +08:00
Breadway
dad2a45d83 Merge fix/shared-ecosystem-ci: shared Arch CI image
All checks were successful
dev release / build (push) Successful in 34s
2026-08-05 14:06:34 +08:00
Breadway
481d460a6e ci: build against bread-ecosystem's shared Arch CI image, add check.yml
All checks were successful
check / check (push) Successful in 18s
Same fix as breadpad: build inside the shared pinned Arch container
(bread-ecosystem/ci/, cloned at the sha in ci/bread-ecosystem.rev)
instead of building natively against whatever's on the runner host.
Adds check.yml (clippy + test on feature/**/fix/**) as a fast-fail gate
before anything reaches main.

Verified locally: build, clippy, and test all pass through the new
container path — no pre-existing lint/test debt found here.
2026-08-05 14:03:18 +08:00
Breadway
3adcfa3167 CONTRIBUTING.md: document single-trunk + RC-tag release model
All checks were successful
dev release / build (push) Successful in 2m37s
2026-07-31 11:08:41 +08:00
Breadway
773972b711 CI: single-trunk model — dev triggers on main, beta becomes RC-tag-triggered
Replaces the dev/beta branch split with one trunk (main): dev-track
builds still publish on every push, but the beta track now publishes
from a vX.Y.Z-rc.N prerelease tag instead of a separately-maintained
beta branch. Removes the branch nobody reliably kept in sync.
2026-07-31 11:05:29 +08:00
Breadway
d06d32b4e6 docs: add CONTRIBUTING.md
All checks were successful
dev release / build (push) Successful in 25s
Documents the dev/beta/main branch and release-track workflow shared
across the bread ecosystem. See bread-ecosystem's docs/release-channels.md
for the full policy this implements.
2026-07-22 19:42:19 +08:00
Breadway
56aecfcbd6 ci: make beta a branch-triggered freeze track, not a one-off tag
All checks were successful
dev release / build (push) Successful in 28s
beta release / build (push) Successful in 21s
Beta is now a real stabilization branch: publishes on every push to
`beta` (mirroring dev's model, auto-versioned X.Y.Z-beta.<ts>+<sha>,
base version from the latest published tag) instead of a manual
beta-v* tag. Fixes made during the freeze land via fix/<issue> branches
merged into `beta` directly. The gen-index.sh clone for beta pulls
bread-ecosystem's default branch (main) rather than pinning to dev,
since beta is the more stable track and main now carries the
TRACK-aware script.
2026-07-22 18:37:53 +08:00
Breadway
70bb804883 ci: base dev version on the latest published tag, not Cargo.toml
All checks were successful
dev release / build (push) Successful in 28s
Cargo.toml can drift stale relative to the actual last release (observed
on breadbox/breadpad/breadcrumbs/breadpaper), which made the auto-bumped
dev version sort as OLDER than what's already installed — bakery's semver
check correctly refused those "updates". Deriving the base version from
git ls-remote --tags instead is self-healing regardless of Cargo.toml
drift, with a Cargo.toml fallback only for a repo with no tags yet.
2026-07-22 13:53:13 +08:00
Breadway
802e03eecf random commit message, read it yourself
All checks were successful
dev release / build (push) Successful in 46s
2026-07-22 11:57:21 +08:00
Breadway
56251a009c ci: use a unique temp dir for the bread-ecosystem clone in dev/beta CI
All checks were successful
dev release / build (push) Successful in 55s
The fixed /tmp/bread-ecosystem-ci path races when multiple repos' dev/beta
workflows run close together on the same self-hosted runner — one job's
rm -rf/clone can stomp another's in-progress checkout, causing the
regenerate-index step to fail intermittently. Switch to mktemp -d.
2026-07-22 10:24:54 +08:00
Breadway
3b173a6765 ci: retrigger dev-track build now that BAKERY_MINISIGN_SEC_KEY_PATH is set
All checks were successful
dev release / build (push) Successful in 1m2s
2026-07-22 10:10:22 +08:00
Breadway
86774ab1cf ci: add dev/beta build track workflows
Some checks failed
dev release / build (push) Failing after 45s
Adds dev-release.yml (publishes on every push to dev) and beta-release.yml
(publishes on a beta-v* tag), mirroring the pattern landing in
bread-ecosystem/bread. Also creates the dev branch for this repo, which
didn't exist before — see bread-ecosystem/docs/release-channels.md for the
three-track policy.
2026-07-22 09:56:49 +08:00
Breadway
14672188b7 ci: remove GitHub push-mirror workflow 2026-07-21 19:18:09 +08:00
Breadway
aad314c5ca Switch to tag-pinned bread-ecosystem deps; bump version to v0.1.1
All checks were successful
Mirror to GitHub / mirror (push) Successful in 2s
release / build (push) Successful in 25s
2026-07-19 03:52:53 +08:00
Breadway
5e4cbc83c9 Timeout-guard hyprctl JSON queries
hyprctl_json used a bare Command::new("hyprctl").output() with no timeout,
used by every geometry_* helper (region/output/window/active_window/
active_output selection) — an unresponsive hyprctl could block screenshot
capture indefinitely. Switched to bread_utils::proc::run_json (path
dependency for now, see the TODO in Cargo.toml).

grim/slurp/wl-copy calls deliberately left untouched: several pipe binary
image data through stdin/stdout (e.g. grim -> wl-copy), which
bread_utils::proc's current run_with_stdin only accepts as &str — adapting
those safely would need a bytes-flavored variant, out of scope for this
pass to avoid risking a regression in image piping.
2026-07-17 09:53:54 +08:00
Breadway
08c27d1b22 breadshot: expand ~ in save_dir, align Cargo.toml version with tag
- config.rs: expand a leading ~ in the save_dir config value on load.
  The documented example config (save_dir = "~/Pictures/Screenshots")
  was previously taken literally, silently creating ./~/Pictures/... in
  the current working directory. Added unit tests.
- Cargo.toml: 1.0.0 -> 0.1.0, matching the only existing tag (v0.1.0).
  breadshot --version previously reported nine releases ahead of the
  actual release history.
2026-07-17 03:19:50 +08:00
Breadway
1fb9770a77 CI: migrate release workflow from GitHub Actions to Forgejo Actions
All checks were successful
Mirror to GitHub / mirror (push) Successful in 1s
GitHub Actions self-hosted runners need per-repo registration on a
personal account; Forgejo Actions' runner already serves every repo
with zero setup. Moves release publishing there (dl.breadway.dev stays
the primary bakery target; GitHub release upload is kept as the
fallback via an explicit token, since Forgejo Actions has no ambient
GITHUB_TOKEN) and adds a mirror workflow to keep GitHub in sync
automatically.
2026-07-03 14:10:13 +08:00
Breadway
62a45025ae CI: add release workflow
Some checks failed
release / build (push) Failing after 2s
2026-07-02 21:03:19 +08:00
Breadway
854c5752f9 Initial commit 2026-07-02 20:59:24 +08:00