Conversation
- return typed errors from backup planning instead of process::exit, which aborted all concurrent jobs mid-copy - propagate job failures out of run_jobs so `bk run` exits non-zero when any job fails (cron/CI can finally detect failed backups) - allow backup targets that do not exist yet (canonicalize_target); a missing single-file target is treated as a directory to create - make run_job/run_jobs async so the tokio runtime flows from main: directory backups and multi-job runs used to panic with "Cannot start a runtime from within a runtime" - review hardening: directory planning on the blocking pool, bounded copy concurrency (buffer_unordered(64)), deterministic mtime tests via filetime, multi-job all-success exit-code test
- Windows config_dir() resolves via the known-folder API and ignores HOME/XDG_CONFIG_HOME, so parallel CLI integration tests raced on the real %APPDATA% config and failed. config_dir() now honors HBACKUP_CONFIG on every platform (also useful for portable setups) and the `bk run` tests use it for full isolation. - zstd-safe 7.3.0 / zstd-sys 2.1.0 relicensed to BSD-3-Clause; allow it in cargo-deny.
- delete_yes.rs and cli_delete_integration.rs only set XDG_CONFIG_HOME, which macOS and Windows both ignore, so a local `cargo test` ran `bk delete --all -y` against the real user config. Both now use the HBACKUP_CONFIG override, keeping the suite off the real config on every platform.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
process::exit, which aborted all concurrent jobs mid-copyrun_jobs:bk runnow exits non-zero when any job fails (cron/CI can detect failed backups)run_job/run_jobsasync so the tokio runtime flows from#[tokio::main]— fixes directory backups and multi-job runs panicking with "Cannot start a runtime from within a runtime"buffer_unordered(64)), deterministic mtime tests viafiletime, multi-job all-success exit-code testrun_job/run_jobsare now async), trim dependency requirements to minor form,cargo update