Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
19d9018
feat(hm-util): add platform-native COW clone + fuse-overlayfs backend
markovejnovic May 26, 2026
8255473
fix(cow): address code review — cache strategy, fix deadlock, guard d…
markovejnovic May 26, 2026
9eb928c
feat(docker): add start_long_lived_with_mounts for bind mount support
markovejnovic May 26, 2026
c88fd41
feat(orchestrator): add WorkspaceManager with COW cloning
markovejnovic May 26, 2026
ec61830
fix: code review fixes for Tasks 2 and 3
markovejnovic May 26, 2026
8daf631
feat(runner): add COW workspace execution path with bind mounts
markovejnovic May 26, 2026
962db63
fix(runner): use workdir for bind mount target, error on mutex poison
markovejnovic May 26, 2026
9763e82
feat: wire COW workspace mode through scheduler and CLI
markovejnovic May 26, 2026
1791cc5
fix(scheduler): create COW workspace before cache-hit short-circuit
markovejnovic May 26, 2026
e9b7ce6
fix: skip Docker ephemeral cleanup in COW workspace mode
markovejnovic May 26, 2026
08623c8
feat(cache): add COW workspace cache backend
markovejnovic May 26, 2026
d2ddb88
fix: handle TOCTOU race in cache persist, add dup-key guard to from_c…
markovejnovic May 26, 2026
6f0f2ee
feat(dirs): add cache directory helpers
markovejnovic May 26, 2026
a8d16f5
test: add COW workspace E2E integration test
markovejnovic May 26, 2026
26fe08d
style: apply rustfmt
markovejnovic May 26, 2026
1f6404c
fix: resolve all clippy warnings in COW workspace code
markovejnovic May 26, 2026
3f2159e
style: fix rustfmt in scheduler COW cache block
markovejnovic May 26, 2026
0fe24f2
feat(cow): hybrid mode — commit Docker images for system state inheri…
markovejnovic May 26, 2026
521c4b3
refactor: make COW workspace the only execution path
markovejnovic May 27, 2026
53882d3
fix: add allow_other to fuse-overlayfs mounts for Docker visibility
markovejnovic May 27, 2026
1943146
feat: add COW strategy diagnostics with slow-path warning
markovejnovic May 27, 2026
11774e3
fix: add squash_to_uid/gid=0 to fuse-overlayfs mounts
markovejnovic May 27, 2026
0407632
readme fix
markovejnovic May 27, 2026
0cb736c
deslop
markovejnovic May 27, 2026
989baf7
deslop
markovejnovic May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,9 @@ jobs:
- name: Build hm
run: cargo build -p harmont-cli

- name: Enable FUSE allow_other
run: sudo sed -i 's/#user_allow_other/user_allow_other/' /etc/fuse.conf

- name: Restore harmont Docker cache
uses: actions/cache/restore@v4
with:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,9 @@ jobs:
- name: Mark hm executable
run: chmod +x bin/hm

- name: Enable FUSE allow_other
run: sudo sed -i 's/#user_allow_other/user_allow_other/' /etc/fuse.conf

- name: Run example via hm run
working-directory: examples/${{ matrix.example }}
env:
Expand Down
5 changes: 4 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</p>

<p align="center">
<a href="https://harmont.dev">Website</a> · <a href="https://harmont.dev/docs">Docs</a> · <a href="https://join.slack.com/t/harmont-dev/shared_invite/zt-3yt0tiv7r-qHm1O0p0nVh2GU~KKhUk9A">Slack</a>
<a href="https://harmont.dev">Website</a> · <a href="https://docs.harmont.dev">Docs</a> · <a href="https://join.slack.com/t/harmont-dev/shared_invite/zt-3yt0tiv7r-qHm1O0p0nVh2GU~KKhUk9A">Slack</a>
</p>

> [!WARNING]
Expand Down Expand Up @@ -174,7 +174,7 @@ Go, Python, Java, C++, React, Next.js, and more.
## Documentation

For the full pipeline reference, rich examples, and more — see the
[docs](https://harmont.dev/docs).
[docs](https://docs.harmont.dev).

## License

Expand Down
4 changes: 4 additions & 0 deletions crates/hm-util/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,12 @@ repository.workspace = true
description = "Shared OS and filesystem utilities for Harmont crates."

[dependencies]
anyhow = { workspace = true }
dirs = "6"
tempfile = "3"
tokio = { version = "1", features = ["rt", "rt-multi-thread", "fs", "io-util"] }
tracing = { workspace = true }
which = "6"

[target.'cfg(windows)'.dependencies.windows]
version = "0.62"
Expand Down
Loading
Loading