Skip to content

Adjust CI coverage gate and extend cross-platform builds#1385

Merged
oferchen merged 1 commit into
masterfrom
prepare-for-production-release-optimization
Oct 28, 2025
Merged

Adjust CI coverage gate and extend cross-platform builds#1385
oferchen merged 1 commit into
masterfrom
prepare-for-production-release-optimization

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • align the linux coverage gate with the documented 95% threshold
  • expand the cross-compilation matrix to cover Windows aarch64 and package both oc-rsync and oc-rsyncd where supported
  • generate platform-neutral checksum artifacts without relying on certutil/sha utilities

Testing

  • not run (workflow updates only)

https://chatgpt.com/codex/tasks/task_e_6900e2126e2083239d9311cf1ac4c1d2

@oferchen oferchen merged commit 28a33c9 into master Oct 28, 2025
@oferchen oferchen deleted the prepare-for-production-release-optimization branch October 28, 2025 15:39
oferchen added a commit that referenced this pull request May 5, 2026
Mirrors the IoUringDiskBatch and IocpDiskBatch shape so the disk-commit
thread keeps a single calling convention across platforms; covers the
kqueue model, AsyncFileWriter trait mapping, dispatch wiring, limits
vs io_uring, and the migration sequence through #1657 / #1659 / #1386.
oferchen added a commit that referenced this pull request May 5, 2026
Static, code-grounded audit of the fast_io fallback on macOS compared
to the Linux io_uring path and the post-#1868 Windows IOCP path.
Inventories every public copy/write/probe entry point with file:LINE,
documents the inferred per-file syscall budget, identifies which
io_uring features have no macOS analogue, and ranks the near-term
mitigations (#1657 pwritev+F_NOCACHE, #1385 kqueue backend, macOS
sendfile arm) by inferred payoff per unit of effort.
oferchen added a commit that referenced this pull request May 5, 2026
Design note for the near-term macOS-optimized fallback that pairs
F_NOCACHE on the destination fd with writev for the buffered-write
path. Composes with the longer-term kqueue backend (#1385) and fills
in the WritevAsyncWriter branch named in the AsyncFileWriter audit
(#1655).
oferchen added a commit that referenced this pull request May 7, 2026
Tight-scope design note for #1385: surveys current macOS I/O paths in
fast_io, scopes the kqueue surface to vnode/socket/timer events,
identifies disk-commit and daemon socket I/O as the candidate sites,
contrasts kqueue's notification-only role with io_uring's submission
plus completion model, and recommends kqueue (not dispatch_io) as the
macOS implementation of the AsyncFileWriter trait from #1655.
oferchen added a commit that referenced this pull request May 17, 2026
Scaffold the kqueue-driven event loop described in
docs/design/macos-kqueue-fast-io.md. Adds a safe wrapper over
kqueue(2) and kevent(2) that consumers (disk-commit thread, daemon
accept loop) will adopt in later PRs.

- crates/fast_io/src/kqueue/mod.rs - macOS implementation backed by
  direct libc bindings (libc is already a unix workspace dep, the
  unsafe surface is two FFI calls). Supports EVFILT_READ /
  EVFILT_WRITE registration with edge-triggered EV_CLEAR semantics,
  a Duration-bounded wait(), and explicit EV_DELETE removal.
- crates/fast_io/src/kqueue_stub.rs - cross-platform stub returning
  io::ErrorKind::Unsupported so callers compile on Linux / Windows
  without cfg branching.
- Unit tests cover loop creation, pipe-driven read wakeup,
  timeout-empty behaviour, EOF signalling, and idempotent removal.

No behavioural change for current callers; this lands the primitive
so subsequent PRs can migrate the disk-commit backend onto it.
oferchen added a commit that referenced this pull request May 18, 2026
Mirrors the IoUringDiskBatch and IocpDiskBatch shape so the disk-commit
thread keeps a single calling convention across platforms; covers the
kqueue model, AsyncFileWriter trait mapping, dispatch wiring, limits
vs io_uring, and the migration sequence through #1657 / #1659 / #1386.
oferchen added a commit that referenced this pull request May 18, 2026
Static, code-grounded audit of the fast_io fallback on macOS compared
to the Linux io_uring path and the post-#1868 Windows IOCP path.
Inventories every public copy/write/probe entry point with file:LINE,
documents the inferred per-file syscall budget, identifies which
io_uring features have no macOS analogue, and ranks the near-term
mitigations (#1657 pwritev+F_NOCACHE, #1385 kqueue backend, macOS
sendfile arm) by inferred payoff per unit of effort.
oferchen added a commit that referenced this pull request May 18, 2026
Design note for the near-term macOS-optimized fallback that pairs
F_NOCACHE on the destination fd with writev for the buffered-write
path. Composes with the longer-term kqueue backend (#1385) and fills
in the WritevAsyncWriter branch named in the AsyncFileWriter audit
(#1655).
oferchen added a commit that referenced this pull request May 18, 2026
Tight-scope design note for #1385: surveys current macOS I/O paths in
fast_io, scopes the kqueue surface to vnode/socket/timer events,
identifies disk-commit and daemon socket I/O as the candidate sites,
contrasts kqueue's notification-only role with io_uring's submission
plus completion model, and recommends kqueue (not dispatch_io) as the
macOS implementation of the AsyncFileWriter trait from #1655.
oferchen added a commit that referenced this pull request May 18, 2026
Scaffold the kqueue-driven event loop described in
docs/design/macos-kqueue-fast-io.md. Adds a safe wrapper over
kqueue(2) and kevent(2) that consumers (disk-commit thread, daemon
accept loop) will adopt in later PRs.

- crates/fast_io/src/kqueue/mod.rs - macOS implementation backed by
  direct libc bindings (libc is already a unix workspace dep, the
  unsafe surface is two FFI calls). Supports EVFILT_READ /
  EVFILT_WRITE registration with edge-triggered EV_CLEAR semantics,
  a Duration-bounded wait(), and explicit EV_DELETE removal.
- crates/fast_io/src/kqueue_stub.rs - cross-platform stub returning
  io::ErrorKind::Unsupported so callers compile on Linux / Windows
  without cfg branching.
- Unit tests cover loop creation, pipe-driven read wakeup,
  timeout-empty behaviour, EOF signalling, and idempotent removal.

No behavioural change for current callers; this lands the primitive
so subsequent PRs can migrate the disk-commit backend onto it.
oferchen added a commit that referenced this pull request May 18, 2026
Scaffold the kqueue-driven event loop described in
docs/design/macos-kqueue-fast-io.md. Adds a safe wrapper over
kqueue(2) and kevent(2) that consumers (disk-commit thread, daemon
accept loop) will adopt in later PRs.

- crates/fast_io/src/kqueue/mod.rs - macOS implementation backed by
  direct libc bindings (libc is already a unix workspace dep, the
  unsafe surface is two FFI calls). Supports EVFILT_READ /
  EVFILT_WRITE registration with edge-triggered EV_CLEAR semantics,
  a Duration-bounded wait(), and explicit EV_DELETE removal.
- crates/fast_io/src/kqueue_stub.rs - cross-platform stub returning
  io::ErrorKind::Unsupported so callers compile on Linux / Windows
  without cfg branching.
- Unit tests cover loop creation, pipe-driven read wakeup,
  timeout-empty behaviour, EOF signalling, and idempotent removal.

No behavioural change for current callers; this lands the primitive
so subsequent PRs can migrate the disk-commit backend onto it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant