Skip to content

Commit 64969e7

Browse files
committed
[meta] prepare releases
1 parent 6bbb268 commit 64969e7

File tree

3 files changed

+78
-4
lines changed

3 files changed

+78
-4
lines changed

site/src/changelog.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,42 @@ toc_depth: 1
99
This page documents new features and bugfixes for cargo-nextest. Please see the [stability
1010
policy](https://nexte.st/docs/stability/) for how versioning works with cargo-nextest.
1111

12+
## [0.9.115] - 2025-12-14
13+
14+
### Added
15+
16+
- Nextest profiles now support [inheritance](https://nexte.st/docs/configuration/#profile-inheritance) via the `inherits` key. For example:
17+
18+
```toml
19+
[profile.ci]
20+
retries = 2
21+
22+
[profile.ci-extended]
23+
inherits = "ci"
24+
slow-timeout = "120s"
25+
```
26+
27+
Thanks [asder8215](https://github.com/asder8215) for your first contribution! ([#2786])
28+
29+
- A new `on-timeout` option for `slow-timeout` allows tests that time out to be treated as successes instead of failures. This is useful for fuzz tests, or other tests where a timeout indicates no failing input was found. For example:
30+
31+
```toml
32+
[[profile.default.overrides]]
33+
filter = 'package(fuzz-targets)'
34+
slow-timeout = { period = "30s", terminate-after = 1, on-timeout = "pass" }
35+
```
36+
37+
Tests that time out and pass are marked `TMPASS`. See [_Configuring timeout behavior_](https://nexte.st/docs/features/slow-tests/#configuring-timeout-behavior) for more information.
38+
39+
Thanks [eduardorittner](https://github.com/eduardorittner) for your first contribution! ([#2742])
40+
41+
### Changed
42+
43+
- MSRV updated to Rust 1.89.
44+
45+
[#2786]: https://github.com/nextest-rs/nextest/pull/2786
46+
[#2742]: https://github.com/nextest-rs/nextest/pull/2742
47+
1248
## [0.9.114] - 2025-11-18
1349

1450
### Added
@@ -1674,6 +1710,7 @@ Supported in this initial release:
16741710
- [Test retries](https://nexte.st/book/retries.md) and flaky test detection
16751711
- [JUnit support](https://nexte.st/book/junit.md) for integration with other test tooling
16761712

1713+
[0.9.115]: https://github.com/nextest-rs/nextest/releases/tag/cargo-nextest-0.9.115
16771714
[0.9.114]: https://github.com/nextest-rs/nextest/releases/tag/cargo-nextest-0.9.114
16781715
[0.9.113]: https://github.com/nextest-rs/nextest/releases/tag/cargo-nextest-0.9.113
16791716
[0.9.112]: https://github.com/nextest-rs/nextest/releases/tag/cargo-nextest-0.9.112

site/src/docs/configuration/index.md

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,28 @@ After checking the profile into `.config/nextest.toml`, use `cargo nextest --pro
2828
!!! note "Default profiles"
2929

3030
Nextest's embedded configuration may define new profiles whose names start with `default-` in the future. To avoid backwards compatibility issues, do not name custom profiles starting with `default-`.
31+
32+
### Profile inheritance
33+
34+
<!-- md:version 0.9.115 -->
35+
36+
By default, all custom profiles inherit their configuration from the profile named `default`. To inherit from another profile, specify the `inherits` key:
37+
38+
```toml title="Inheriting from another profile in <code>.config/nextest.toml</code>"
39+
[profile.ci]
40+
fail-fast = false
41+
slow-timeout = "60s"
42+
43+
[profile.ci-extended]
44+
inherits = "ci"
45+
slow-timeout = "300s"
46+
```
47+
48+
A series of profile `inherits` keys form an _inheritance chain_, and configuration lookups are done by iterating over the chain.
49+
50+
!!! note "The default profile cannot inherit from another profile"
51+
52+
The `default` profile cannot be made to inherit from another profile; it is always at the root of any inheritance chain.
3153

3254
## Tool-specific configuration
3355

@@ -58,13 +80,17 @@ Configuration is resolved in the following order:
5880
then, if `--profile ci` is selected, failing tests are retried up to 2 times.
5981

6082
5. If a profile is specified, tool-specific configuration for the given profile.
61-
6. Repository-specific configuration for the `default` profile. For example, if the repository-specific configuration looks like:
83+
6. For each profile in the inheritance chain, which always terminates at the `default` profile:
84+
1. Repository-specific configuration for that profile profile. For example, if the repository-specific configuration looks like:
6285
```toml
63-
[profile.default]
86+
[profile.ci-extended]
87+
inherits = "ci"
88+
89+
[profile.ci]
6490
retries = 5
6591
```
66-
then failing tests are retried up to 5 times.
67-
7. Tool-specific configuration for the `default` profile.
92+
then, with the `ci-extended` profile, failing tests are retried up to 5 times.
93+
b. Tool-specific configuration for that profile.
6894
8. The [default configuration](reference.md#default-configuration), which is that tests are never retried.
6995

7096
## See also

site/src/docs/configuration/reference.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,17 @@ These parameters are specified at the root level of the configuration file.
6969

7070
Profiles are configured under `[profile.<name>]`. The default profile is called `[profile.default]`.
7171

72+
### General configuration
73+
74+
#### `profile.<name>.inherits`
75+
76+
<!-- md:version 0.9.115 -->
77+
78+
- **Type**: String
79+
- **Description**: The profile to inherit configuration settings from
80+
- **Documentation**: [_Profile inheritance_](index.md#profile-inheritance)
81+
- **Default**: `default`: the default profile
82+
7283
### Core test execution
7384

7485
#### `profile.<name>.default-filter`

0 commit comments

Comments
 (0)