Skip to content

Refine CI workflows and expand packaging coverage#1892

Merged
oferchen merged 1 commit into
masterfrom
allow-side-by-side-installation-of-rsync-versions
Nov 1, 2025
Merged

Refine CI workflows and expand packaging coverage#1892
oferchen merged 1 commit into
masterfrom
allow-side-by-side-installation-of-rsync-versions

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented Nov 1, 2025

Summary

  • split the monolithic ci workflow into reusable lint, test, and cross-compile workflows while updating validation helpers
  • extend packaging to support per-target tarball generation and Windows aarch64 metadata, ensuring compatibility with upstream installs
  • refresh documentation and tests to reflect the new workflow layout and additional cross-compilation targets

Testing

  • cargo test -p xtask

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

@oferchen oferchen merged commit 0bf87c3 into master Nov 1, 2025
@oferchen oferchen deleted the allow-side-by-side-installation-of-rsync-versions branch November 1, 2025 23:53
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

fn cross_compile_target(os: &str, arch: &str) -> Option<&'static str> {
match (os, arch) {
("linux", "x86_64") => Some("x86_64-unknown-linux-gnu"),
("linux", "aarch64") => Some("aarch64-unknown-linux-gnu"),
("macos", "x86_64") => Some("x86_64-apple-darwin"),
("macos", "aarch64") => Some("aarch64-apple-darwin"),
("windows", "x86_64") => Some("x86_64-pc-windows-gnu"),
("windows", "x86") => Some("i686-pc-windows-gnu"),
("windows", "aarch64") => Some("aarch64-pc-windows-msvc"),

P1 Badge Update release target mapping to Windows MSVC

The CI matrix now builds Windows artifacts for x86_64-pc-windows-msvc (and enables windows-aarch64), but the release uploader still resolves Windows targets to x86_64-pc-windows-gnu/i686-pc-windows-gnu. Running cargo xtask release upload will therefore search target/*-pc-windows-gnu for the binaries that CI never produces anymore and fail to upload the Windows artifacts. Align the mapping with the new MSVC targets (or handle both) so the release packaging step can locate the generated binaries.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@oferchen oferchen restored the allow-side-by-side-installation-of-rsync-versions branch November 2, 2025 11:05
@oferchen oferchen deleted the allow-side-by-side-installation-of-rsync-versions branch November 2, 2025 11:07
oferchen added a commit that referenced this pull request May 16, 2026
Expand the placeholder async migration plan into a comprehensive,
opinionated design covering: current synchronous threading model per
subsystem, per-subsystem cost/benefit, a phased incremental adoption
strategy, tokio runtime choice with rejected alternatives, sync/async
bridge patterns, backward-compat strategy, risk register, and open
questions.

Cross-references existing async-related tasks (#1367, #1411, #1591,
#1593, #1595, #1674, #1751, #1779, #1780, #1782, #1796, #1797, #1805,
#1806, #1889, #1890, #1891, #1892, #1934, #1935, #2136) and related
design notes so future planners have a single anchor.
oferchen added a commit that referenced this pull request May 16, 2026
Expand the placeholder async migration plan into a comprehensive,
opinionated design covering: current synchronous threading model per
subsystem, per-subsystem cost/benefit, a phased incremental adoption
strategy, tokio runtime choice with rejected alternatives, sync/async
bridge patterns, backward-compat strategy, risk register, and open
questions.

Cross-references existing async-related tasks (#1367, #1411, #1591,
#1593, #1595, #1674, #1751, #1779, #1780, #1782, #1796, #1797, #1805,
#1806, #1889, #1890, #1891, #1892, #1934, #1935, #2136) and related
design notes so future planners have a single anchor.
oferchen added a commit that referenced this pull request May 17, 2026
…, and explicit backpressure (#4272)

Three followup design notes to the umbrella SSH async I/O eval:

- ssh-async-default-linux.md (#1890): trigger conditions and 5-step
  rollout to flip the Linux default from sync to async, with the
  feature/cfg gate and the OC_RSYNC_SSH_ASYNC=0 escape hatch.
- ssh-decouple-delta-from-socket-read.md (#1891): split the SSH read
  thread from the delta applier via a bounded crossbeam-channel queue;
  MSG_DATA / MSG_INFO ordering preserved, error propagation via a
  oneshot channel, queue-depth defaults explained.
- ssh-explicit-backpressure-controls.md (#1892): user-facing
  --ssh-max-in-flight-bytes flag and OC_RSYNC_SSH_MAX_IN_FLIGHT_BYTES
  env var, implemented as a tokio Semaphore at the multiplex writer
  and receiver-side queue, default 4 MiB, with the
  max(N, MAX_PAYLOAD_LENGTH) floor that avoids single-frame deadlock.

Each doc lists 5-step impl plan plus trigger conditions and ties back
to the umbrella eval's recommendation.
oferchen added a commit that referenced this pull request May 18, 2026
Expand the placeholder async migration plan into a comprehensive,
opinionated design covering: current synchronous threading model per
subsystem, per-subsystem cost/benefit, a phased incremental adoption
strategy, tokio runtime choice with rejected alternatives, sync/async
bridge patterns, backward-compat strategy, risk register, and open
questions.

Cross-references existing async-related tasks (#1367, #1411, #1591,
#1593, #1595, #1674, #1751, #1779, #1780, #1782, #1796, #1797, #1805,
#1806, #1889, #1890, #1891, #1892, #1934, #1935, #2136) and related
design notes so future planners have a single anchor.
oferchen added a commit that referenced this pull request May 18, 2026
…, and explicit backpressure (#4272)

Three followup design notes to the umbrella SSH async I/O eval:

- ssh-async-default-linux.md (#1890): trigger conditions and 5-step
  rollout to flip the Linux default from sync to async, with the
  feature/cfg gate and the OC_RSYNC_SSH_ASYNC=0 escape hatch.
- ssh-decouple-delta-from-socket-read.md (#1891): split the SSH read
  thread from the delta applier via a bounded crossbeam-channel queue;
  MSG_DATA / MSG_INFO ordering preserved, error propagation via a
  oneshot channel, queue-depth defaults explained.
- ssh-explicit-backpressure-controls.md (#1892): user-facing
  --ssh-max-in-flight-bytes flag and OC_RSYNC_SSH_MAX_IN_FLIGHT_BYTES
  env var, implemented as a tokio Semaphore at the multiplex writer
  and receiver-side queue, default 4 MiB, with the
  max(N, MAX_PAYLOAD_LENGTH) floor that avoids single-frame deadlock.

Each doc lists 5-step impl plan plus trigger conditions and ties back
to the umbrella eval's recommendation.
oferchen added a commit that referenced this pull request May 18, 2026
Expand the placeholder async migration plan into a comprehensive,
opinionated design covering: current synchronous threading model per
subsystem, per-subsystem cost/benefit, a phased incremental adoption
strategy, tokio runtime choice with rejected alternatives, sync/async
bridge patterns, backward-compat strategy, risk register, and open
questions.

Cross-references existing async-related tasks (#1367, #1411, #1591,
#1593, #1595, #1674, #1751, #1779, #1780, #1782, #1796, #1797, #1805,
#1806, #1889, #1890, #1891, #1892, #1934, #1935, #2136) and related
design notes so future planners have a single anchor.
oferchen added a commit that referenced this pull request May 18, 2026
…, and explicit backpressure (#4272)

Three followup design notes to the umbrella SSH async I/O eval:

- ssh-async-default-linux.md (#1890): trigger conditions and 5-step
  rollout to flip the Linux default from sync to async, with the
  feature/cfg gate and the OC_RSYNC_SSH_ASYNC=0 escape hatch.
- ssh-decouple-delta-from-socket-read.md (#1891): split the SSH read
  thread from the delta applier via a bounded crossbeam-channel queue;
  MSG_DATA / MSG_INFO ordering preserved, error propagation via a
  oneshot channel, queue-depth defaults explained.
- ssh-explicit-backpressure-controls.md (#1892): user-facing
  --ssh-max-in-flight-bytes flag and OC_RSYNC_SSH_MAX_IN_FLIGHT_BYTES
  env var, implemented as a tokio Semaphore at the multiplex writer
  and receiver-side queue, default 4 MiB, with the
  max(N, MAX_PAYLOAD_LENGTH) floor that avoids single-frame deadlock.

Each doc lists 5-step impl plan plus trigger conditions and ties back
to the umbrella eval's recommendation.
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