bisect: make abort into a non-error 975ef64c parent 9b02f868

An aborted bisect is currently treated like an error. This means that once an abort is triggered, any follow-up code from the bisection CLI doesn't get run. Change the bisector to treat an aborted command as any other evaluation and have it return an aborted result when it encounters it. This could be important for many future developments (putting bisect status in the op-log, interactive bisects, querying the state of a currently running bisect), but right now, it's mostly important for printing the reminder text about the right place to restore to in the op-log :)

authored by Daniel Morsing

1
# This template contains all of the possible sections and their default values
2
3
# Note that all fields that take a lint level have these possible values:
4
# * deny - An error will be produced and the check will fail
5
# * warn - A warning will be produced, but the check will not fail
6
# * allow - No warning or error will be produced, though in some cases a note
7
# will be
8
9
# The values provided in this template are the default values that will be used
10
# when any section or field is not specified in your own configuration
11
12
# Root options
13
14
# The graph table configures how the dependency graph is constructed and thus
15
# which crates the checks are performed against
16
[graph]
17
# If 1 or more target triples (and optionally, target_features) are specified,
18
# only the specified targets will be checked when running `cargo deny check`.
19
# This means, if a particular package is only ever used as a target specific
20
# dependency, such as, for example, the `nix` crate only being used via the
21
# `target_family = "unix"` configuration, that only having windows targets in
22
# this list would mean the nix crate, as well as any of its exclusive
23
# dependencies not shared by any other crates, would be ignored, as the target
24
# list here is effectively saying which targets you are building for.
25
targets = [
26
# The triple can be any string, but only the target triples built in to
27
# rustc (as of 1.40) can be checked against actual config expressions
28
#"x86_64-unknown-linux-musl",
29
# You can also specify which target_features you promise are enabled for a
30
# particular target. target_features are currently not validated against
31
# the actual valid features supported by the target architecture.
32
#{ triple = "wasm32-unknown-unknown", features = ["atomics"] },
33
]
34
# When creating the dependency graph used as the source of truth when checks are
35
# executed, this field can be used to prune crates from the graph, removing them
36
# from the view of cargo-deny. This is an extremely heavy hammer, as if a crate
37
# is pruned from the graph, all of its dependencies will also be pruned unless
38
# they are connected to another crate in the graph that hasn't been pruned,
39
# so it should be used with care. The identifiers are [Package ID Specifications]
40
# (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html)
41
#exclude = []
42
# If true, metadata will be collected with `--all-features`. Note that this can't
43
# be toggled off if true, if you want to conditionally enable `--all-features` it
44
# is recommended to pass `--all-features` on the cmd line instead
45
all-features = false
46
# If true, metadata will be collected with `--no-default-features`. The same
47
# caveat with `all-features` applies
48
no-default-features = false
49
# If set, these feature will be enabled when collecting metadata. If `--features`
50
# is specified on the cmd line they will take precedence over this option.
51
#features = []
52
53
# The output table provides options for how/if diagnostics are outputted
54
[output]
55
# When outputting inclusion graphs in diagnostics that include features, this
56
# option can be used to specify the depth at which feature edges will be added.
57
# This option is included since the graphs can be quite large and the addition
58
# of features from the crate(s) to all of the graph roots can be far too verbose.
59
# This option can be overridden via `--feature-depth` on the cmd line
60
feature-depth = 1
61
62
# This section is considered when running `cargo deny check advisories`
63
# More documentation for the advisories section can be found here:
64
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
65
[advisories]
66
# The path where the advisory databases are cloned/fetched into
67
#db-path = "$CARGO_HOME/advisory-dbs"
68
# The url(s) of the advisory databases to use
69
#db-urls = ["https://github.com/rustsec/advisory-db"]
70
# A list of advisory IDs to ignore. Note that ignored advisories will still
71
# output a note when they are encountered.
72
ignore = [
73
#"RUSTSEC-0000-0000",
74
#{ id = "RUSTSEC-0000-0000", reason = "you can specify a reason the advisory is ignored" },
75
#"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish
76
#{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" },
77
]
78
# If this is true, then cargo deny will use the git executable to fetch advisory database.
79
# If this is false, then it uses a built-in git library.
80
# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
81
# See Git Authentication for more information about setting up git authentication.
82
#git-fetch-with-cli = true
83
84
# This section is considered when running `cargo deny check licenses`
85
# More documentation for the licenses section can be found here:
86
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
87
[licenses]
88
# List of explicitly allowed licenses
89
# See https://spdx.org/licenses/ for list of possible licenses
90
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
91
allow = [
92
"Apache-2.0 WITH LLVM-exception",
93
"Apache-2.0",
94
"BSD-3-Clause",
95
"MIT",
96
"MPL-2.0",
97
"Unicode-3.0",
98
"Unicode-DFS-2016",
99
"WTFPL", # terminfo
100
"Zlib",
101
]
102
# The confidence threshold for detecting a license from license text.
103
# The higher the value, the more closely the license text must be to the
104
# canonical license text of a valid SPDX license file.
105
# [possible values: any between 0.0 and 1.0].
106
confidence-threshold = 0.8
107
# Allow 1 or more licenses on a per-crate basis, so that particular licenses
108
# aren't accepted for every possible crate as with the normal allow list
109
exceptions = [
110
# Each entry is the crate and version constraint, and its specific allow
111
# list
112
#{ allow = ["Zlib"], crate = "adler32" },
113
]
114
115
# Some crates don't have (easily) machine readable licensing information,
116
# adding a clarification entry for it allows you to manually specify the
117
# licensing information
118
#[[licenses.clarify]]
119
# The package spec the clarification applies to
120
#crate = "ring"
121
# The SPDX expression for the license requirements of the crate
122
#expression = "MIT AND ISC AND OpenSSL"
123
# One or more files in the crate's source used as the "source of truth" for
124
# the license expression. If the contents match, the clarification will be used
125
# when running the license check, otherwise the clarification will be ignored
126
# and the crate will be checked normally, which may produce warnings or errors
127
# depending on the rest of your configuration
128
#license-files = [
129
# Each entry is a crate relative path, and the (opaque) hash of its contents
130
#{ path = "LICENSE", hash = 0xbd0eed23 }
131
#]
132
133
[licenses.private]
134
# If true, ignores workspace crates that aren't published, or are only
135
# published to private registries.
136
# To see how to mark a crate as unpublished (to the official registry),
137
# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
138
ignore = false
139
# One or more private registries that you might publish crates to, if a crate
140
# is only published to private registries, and ignore is true, the crate will
141
# not have its license(s) checked
142
registries = [
143
#"https://sekretz.com/registry
144
]
145
146
# This section is considered when running `cargo deny check bans`.
147
# More documentation about the 'bans' section can be found here:
148
# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
149
[bans]
150
# Lint level for when multiple versions of the same crate are detected
151
multiple-versions = "warn"
152
# Lint level for when a crate version requirement is `*`
153
wildcards = "allow"
154
# The graph highlighting used when creating dotgraphs for crates
155
# with multiple versions
156
# * lowest-version - The path to the lowest versioned duplicate is highlighted
157
# * simplest-path - The path to the version with the fewest edges is highlighted
158
# * all - Both lowest-version and simplest-path are used
159
highlight = "all"
160
# The default lint level for `default` features for crates that are members of
161
# the workspace that is being checked. This can be overridden by allowing/denying
162
# `default` on a crate-by-crate basis if desired.
163
workspace-default-features = "allow"
164
# The default lint level for `default` features for external crates that are not
165
# members of the workspace. This can be overridden by allowing/denying `default`
166
# on a crate-by-crate basis if desired.
167
external-default-features = "allow"
168
# List of crates that are allowed. Use with care!
169
allow = [
170
#"ansi_term@0.11.0",
171
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is allowed" },
172
]
173
# List of crates to deny
174
deny = [
175
#"ansi_term@0.11.0",
176
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is banned" },
177
# Wrapper crates can optionally be specified to allow the crate when it
178
# is a direct dependency of the otherwise banned crate
179
#{ crate = "ansi_term@0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term"] },
180
]
181
182
# List of features to allow/deny
183
# Each entry the name of a crate and a version range. If version is
184
# not specified, all versions will be matched.
185
#[[bans.features]]
186
#crate = "reqwest"
187
# Features to not allow
188
#deny = ["json"]
189
# Features to allow
190
#allow = [
191
# "rustls",
192
# "__rustls",
193
# "__tls",
194
# "hyper-rustls",
195
# "rustls",
196
# "rustls-pemfile",
197
# "rustls-tls-webpki-roots",
198
# "tokio-rustls",
199
# "webpki-roots",
200
#]
201
# If true, the allowed features must exactly match the enabled feature set. If
202
# this is set there is no point setting `deny`
203
#exact = true
204
205
# Certain crates/versions that will be skipped when doing duplicate detection.
206
skip = [
207
#"ansi_term@0.11.0",
208
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason why it can't be updated/removed" },
209
]
210
# Similarly to `skip` allows you to skip certain crates during duplicate
211
# detection. Unlike skip, it also includes the entire tree of transitive
212
# dependencies starting at the specified crate, up to a certain depth, which is
213
# by default infinite.
214
skip-tree = [
215
#"ansi_term@0.11.0", # will be skipped along with _all_ of its direct and transitive dependencies
216
#{ crate = "ansi_term@0.11.0", depth = 20 },
217
]
218
219
# This section is considered when running `cargo deny check sources`.
220
# More documentation about the 'sources' section can be found here:
221
# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
222
[sources]
223
# Lint level for what to happen when a crate from a crate registry that is not
224
# in the allow list is encountered
225
unknown-registry = "warn"
226
# Lint level for what to happen when a crate from a git repository that is not
227
# in the allow list is encountered
228
unknown-git = "warn"
229
# List of URLs for allowed crate registries. Defaults to the crates.io index
230
# if not specified. If it is specified but empty, no registries are allowed.
231
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
232
# List of URLs for allowed Git repositories
233
allow-git = []
234
235
[sources.allow-org]
236
# 1 or more github.com organizations to allow git sources for
237
github = [""]
238
# 1 or more gitlab.com organizations to allow git sources for
239
gitlab = [""]
240
# 1 or more bitbucket.org organizations to allow git sources for
241
bitbucket = [""]
242