1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[]
= "shep-deploy"
= "0.2.4"
= "2024"
= "1.88"
= "MIT OR Apache-2.0"
= "A deploy dog for shep: watches a git branch, builds a release, swaps to it, and rolls back if it does not come up"
= "https://github.com/shep-pm/shep-deploy"
= ["shep", "process-manager", "deploy", "git"]
= ["command-line-utilities"]
[]
= "0.2.0"
# Already in the tree: shep-core depends on it, so this is a direct edge on
# something every build of this crate already compiles. `fs` for `flock(2)`,
# `signal` for `killpg(2)`; both are safe wrappers, which is what lets a crate
# that forbids unsafe use them at all.
= { = "0.29", = false, = ["fs", "signal"] }
# Also already in the tree: `tempfile` below depends on it, so this is a
# second direct edge on something every build of this crate already compiles.
# `fs` for `openat(2)` and the rest of the handle-based walk in `build.rs`.
#
# nix cannot do that walk. Its 0.29 `openat` hands back a bare `RawFd`, and
# turning one of those into a `File` needs `FromRawFd`, which is unsafe, and
# `main.rs` forbids unsafe outright. nix 0.31 does return an `OwnedFd`, but
# shep-core pins 0.29, so taking it would compile two copies of nix. rustix
# returns an `OwnedFd` and costs no compilation at all.
= { = "1", = ["fs"] }
= { = "1", = false, = ["rt", "macros", "time", "process", "signal"] }
= "0.8"
# The staging file `State::write` goes through is shep-core's
# `atomic_file::create_staging_file`, which hands back a `NamedTempFile`;
# naming that type here is what needs the crate as a dependency in its own
# right, and it was already in the tree as a dev-dependency.
= "3"
= { = "1", = ["derive"] }
= "1"
[]
= "3"
# `test-util` only: `#[tokio::test(start_paused = true)]` lets the deploy
# tests run out a real verification budget - a minute or more, for an app
# with several instances - in no wall-clock time.
= { = "1", = ["test-util"] }
[]
= []
[[]]
= "integration"
= ["integration"]