Commit graph

49 commits

Author SHA1 Message Date
Breadway
abf748b814 Use REGISTRY_TOKEN (scoped write:package) for registry publish
All checks were successful
Mirror to GitHub / mirror (push) Successful in 3s
Build and publish package / package (push) Successful in 2m8s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 22:55:39 +08:00
Breadway
01a95ecbbf Disable LTO in PKGBUILD to fix vendored Lua static link
Some checks failed
Mirror to GitHub / mirror (push) Successful in 11s
Build and publish package / package (push) Failing after 3m25s
makepkg's default -flto=auto made mlua's vendored liblua5.4.a contain GCC
LTO bitcode that the Rust (lld) link couldn't read, leaving all lua_*
symbols undefined. options=(!lto) produces a clean static link.
Verified building in a clean archlinux container.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 16:52:54 +08:00
Breadway
746e03a5a8 Clone from public URL, not GITHUB_SERVER_URL (resolves to localhost in runner)
Some checks failed
Mirror to GitHub / mirror (push) Successful in 4s
Build and publish package / package (push) Failing after 2m0s
The Forgejo runner injects GITHUB_SERVER_URL as http://localhost:3002, which
is unreachable from inside the job container. Use the public URL instead.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 16:14:13 +08:00
Breadway
6b14032d3e Rename mirror secret to MIRROR_TOKEN (GITHUB_ prefix is reserved)
Some checks failed
Mirror to GitHub / mirror (push) Failing after 1s
Forgejo/gitea rejects user secret names starting with GITHUB_.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 16:10:49 +08:00
Breadway
c21474148a Fix Forgejo workflows for the actual server capabilities
Some checks failed
Mirror to GitHub / mirror (push) Failing after 1s
- package.yml: correct Arch registry upload (octet-stream + binary body),
  drop --privileged, manual shell clone (archlinux image has no Node),
  built-in Actions token, --nocheck
- mirror.yml: clone --mirror + explicit refs push with --prune

Requires only the GITHUB_MIRROR_TOKEN secret for the mirror job.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 16:01:58 +08:00
Breadway
2893173944 Add Forgejo Actions workflows for mirroring and package publishing
Some checks failed
Mirror to GitHub / mirror (push) Failing after 53s
- .forgejo/workflows/mirror.yml: mirrors every push/tag to GitHub
- .forgejo/workflows/package.yml: builds PKGBUILD on tag and publishes
  the bread package to the Forgejo Arch registry (distrib=breadway)

Requires two Forgejo secrets:
  GITHUB_MIRROR_TOKEN — GitHub PAT with repo push scope
  FORGEJO_TOKEN       — Forgejo token with package:write scope

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 11:42:06 +08:00
Breadway
48bf09ad5b chore: update Cargo.lock for v0.6.1
Some checks failed
release / build (push) Failing after 1m17s
2026-06-11 14:27:53 +08:00
Breadway
981a08e89f chore: bump version to 0.6.1 2026-06-11 14:21:13 +08:00
Breadway
895f2e04a7 fix: update system_deps to accurate Arch package names
Required: systemd-libs (libudev.so.1), openssl, zlib (bread CLI via git2)
Optional: bluez (Bluetooth, graceful degradation), hyprland (IPC features)
Removes empty system_deps placeholder.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 13:37:30 +08:00
Breadway
2022ffc7de fix: use relative symlink for latest to work inside Docker containers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 09:00:23 +08:00
Breadway
13abad22c2 fix: add contents: write permission for GitHub Release creation
Some checks failed
release / build (push) Failing after 1m34s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 00:00:45 +08:00
Breadway
e967dca1df fix: create GitHub Release before uploading artifacts 2026-06-06 23:52:34 +08:00
Breadway
81e8155e09 fix: skip integration tests in CI (require live daemon) 2026-06-06 23:43:08 +08:00
Breadway
39710f1a6b fix: add missing build deps for hestia (Ubuntu) runner 2026-06-06 23:19:48 +08:00
Breadway
d2efb9913b Add bakery.toml and release workflow
Wires bread into the bakery ecosystem: prebuilt binaries are published to
dl.breadway.dev and GitHub Releases on every v* tag via the self-hosted
hestia runner. bakery install bread downloads, verifies, and wires the
systemd unit automatically.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 22:31:01 +08:00
Breadway
8730214a6e Fix CI tar path 2026-05-17 08:40:13 +08:00
Breadway
918045695d Revert to v0.6 2026-05-17 08:33:00 +08:00
Breadway
3a46f0ac7c refactor: remove remote module install, extract bread-sync, make CI real
Security:
- Remove `bread modules install github:…`. Remote fetch pulled unreviewed
  third-party Lua and ran it with full bread.exec() privileges in an
  unsandboxed runtime. Module install is now local-only; parse_source
  rejects github:/git: with an explicit message.

bread-sync extracted from the workspace (parked for its own project):
- Removed from workspace members (now excluded); see bread-sync/EXTRACTION.md
- Removed the entire `bread sync` CLI surface and now-unused deps
  (bread-sync, reqwest, tar, flate2; tempfile demoted to dev-dependency)
- Removed the sync.status IPC method from breadd plus its integration tests
- Moved the generic `expand_path` helper into bread-shared (with unit tests)

CI now actually runs and gates quality:
- Trigger on master/dev (was `main` — CI had never run, not once)
- Added `cargo fmt --check` and `clippy -D warnings`; fixed 4 clippy warnings
- Dropped the macOS matrix entry (breadd is Linux-only: udev/rtnetlink);
  added the libudev-dev system dependency the Linux build needs

Hardening / honesty:
- New ipc test: daemon survives repeated reloads and the event pipeline
  resumes (the prior suite only had a single happy-path reload check)
- Docs scrubbed of sync across README/Documentation/Overview/DAEMON
- "production-ready" and "compositor-agnostic" claims reworded to match
  reality rather than aspiration

Note: bread-sync/src/export.rs held pre-existing local WIP authored outside
this change set and is intentionally excluded from this commit.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 00:22:21 +08:00
Breadway
23bb4f8977 docs: document sync export/import and updated snapshot layout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 22:17:26 +08:00
Breadway
4072f64fcb Commiting for bread sync 2026-05-16 19:44:19 +08:00
Breadway
425b746780 Final Release of Version 1.0 2026-05-13 22:01:42 +08:00
Breadway
434fe1721c feat: enhance device normalization and classification
- Introduced a new mechanism in EventNormalizer to suppress duplicate events from child nodes of the same physical device.
- Removed the device classification logic from the normalizer and replaced it with a rule-based system using Lua scripts.
- Added support for user-defined device rules in Lua, allowing for flexible device naming based on various conditions.
- Updated the state engine to handle device rules and resolve device names before dispatching events.
- Modified the installation script to set up default configuration files for the daemon and Lua modules.
- Improved the handling of systemd user services to dynamically set the ExecStart path based on the installation directory.
2026-05-12 21:27:07 +08:00
Breadway
22f591e0e6 revert 2026-05-12 00:35:09 +08:00
Breadway
74a4082d10
Merge pull request #4 from Breadway/master
Merge pull request #3 from Breadway/dev
2026-05-12 00:27:16 +08:00
Breadway
9dcdc67b5e
Merge pull request #3 from Breadway/dev
Dev
2026-05-12 00:25:43 +08:00
copilot-swe-agent[bot]
762e6a6a59
docs: align daemon naming with package rename
Agent-Logs-Url: https://github.com/Breadway/bread/sessions/1d380004-8d78-4a1f-9fbb-0c8a487b2e14

Co-authored-by: Breadway <108389940+Breadway@users.noreply.github.com>
2026-05-11 16:25:35 +00:00
copilot-swe-agent[bot]
007478f82c
Merge origin/master into dev and resolve conflicts
Co-authored-by: Breadway <108389940+Breadway@users.noreply.github.com>
2026-05-11 16:23:31 +00:00
Breadway
364a35142e feat: add bread-sync module for snapshot and restore functionality
- Introduced `bread-sync` module with core functionalities for syncing system state via Git.
- Implemented `MachineProfile` struct for managing machine profiles, including methods for reading and writing profiles.
- Added package management support with snapshot capabilities for `pacman`, `pip`, `npm`, and `cargo`.
- Created comprehensive tests for sync operations, package parsing, and machine profile management.
- Enhanced `udev` adapter to include vendor and product IDs for scanned devices.
- Updated state engine to handle module clearing commands.
- Introduced Lua integration for accessing machine information and file system operations.
- Improved packaging documentation for Arch Linux and systemd service setup.
2026-05-12 00:20:45 +08:00
Breadway
251c586b6f revert 2026-05-11 22:51:32 +08:00
Breadway
d27323d2a2 Refactor UdevAdapter to remove udev monitor fallback and update PKGBUILD for consistent naming 2026-05-11 22:48:49 +08:00
Breadway
f05d6ba602 Update README and add documentation and examples for Bread automation 2026-05-11 21:54:43 +08:00
Breadway
45d5979252 Remove markdown 2026-05-11 20:58:31 +08:00
Breadway
61000d8811 Merge branch 'dev' of https://github.com/Breadway/bread into dev 2026-05-11 20:56:34 +08:00
Breadway
e5611567c2 Begin Implementing V2 features 2026-05-11 20:56:10 +08:00
Breadway
28df873b92
Merge pull request #2 from Breadway/dev
Dev
2026-05-11 20:30:59 +08:00
Breadway
f5cf547875
Merge branch 'master' into dev 2026-05-11 20:30:48 +08:00
Breadway
f0ef411697 Enhance installation process, update service paths, and improve device classification 2026-05-11 18:39:39 +08:00
Breadway
e339660084 Refactor subscription table logic and enhance Lua logging and debounce functionality 2026-05-11 16:57:22 +08:00
Breadway
7c29befc0d Enhance timestamp formatting and add reload watcher functionality 2026-05-11 16:40:49 +08:00
Breadway
65f81db562 unsure 2026-05-11 16:30:05 +08:00
Breadway
8de31cd1fc
Merge pull request #1 from Breadway/dev
Add lua runtime
2026-05-11 16:29:38 +08:00
Breadway
16f3765b65 Add lua runtime 2026-05-11 16:03:05 +08:00
Breadway
3614f628ae Merge branch 'master' of https://github.com/Breadway/bread 2026-05-11 15:50:36 +08:00
Breadway
7f8faa7754 Daemon release-ready 2026-05-11 15:49:03 +08:00
Breadway
0fe25373d7 remove CI workflow and update .gitignore to include .github directory 2026-05-11 15:29:08 +08:00
Breadway
bde30928a0
Update clone command to include .git extension 2026-05-11 12:28:49 +08:00
Breadway
d537fc9318 Daemon release-ready 2026-05-11 12:21:23 +08:00
Breadway
730a8b61d7 Release 1.0 2026-05-11 11:56:03 +08:00
Breadway
009ea6da0e add initial Overview.md for project documentation 2026-05-11 11:10:51 +08:00