Ditch MSRV policy (#510)

This commit is contained in:
Félix Saparelli 2023-03-02 15:33:39 +13:00 committed by GitHub
parent 6232c213a9
commit 46453a2b35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 33 additions and 27 deletions

View File

@ -30,19 +30,16 @@ jobs:
- macos
- ubuntu
- windows
toolchain:
- stable
- 1.62.1
name: Test ${{ matrix.platform }} with Rust ${{ matrix.toolchain }}
name: Test ${{ matrix.platform }}
runs-on: "${{ matrix.platform }}-latest"
steps:
- uses: actions/checkout@v3
- name: Configure toolchain
run: |
rustup toolchain install ${{ matrix.toolchain }} --profile minimal --no-self-update
rustup default ${{ matrix.toolchain }}
rustup toolchain install --profile minimal --no-self-update stable
rustup default stable
# https://github.com/actions/cache/issues/752
- if: ${{ runner.os == 'Windows' }}
@ -59,19 +56,16 @@ jobs:
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ matrix.toolchain }}-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-cargo-stable-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.toolchain }}-
${{ runner.os }}-cargo-stable-
${{ runner.os }}-cargo-
- name: Compilation caching
uses: actions/cache@v3
with:
path: target/
key: ${{ runner.os }}-target-${{ matrix.toolchain }}-${{ hashFiles('**/Cargo.lock') }}
- if: matrix.toolchain != 'stable'
run: echo "flags=--locked" >> $GITHUB_ENV
key: ${{ runner.os }}-target-stable-${{ hashFiles('**/Cargo.lock') }}
- name: Run test suite
run: cargo test ${{ env.flags }}

View File

@ -45,7 +45,7 @@ More usage examples: [in the CLI README](./crates/cli/#usage-examples)!
- With [your package manager](./doc/packages.md) for Arch, Debian, Homebrew, Nix, Scoop, Chocolatey…
- From binary with [Binstall](https://github.com/cargo-bins/cargo-binstall): `cargo binstall watchexec-cli`
- As [pre-built binary package from Github](https://github.com/watchexec/watchexec/releases/latest)
- From source with Cargo: `cargo install watchexec-cli`
- From source with Cargo: `cargo install --locked watchexec-cli`
All options in detail: [in the CLI README](./crates/cli/#installation)
and [in the manual page](./doc/watchexec.1.ronn).

View File

@ -2,6 +2,8 @@
## Next (YYYY-MM-DD)
- Ditch MSRV policy. The `rust-version` indication will remain, for the minimum estimated Rust version for the code features used in the crate's own code, but dependencies may have already moved on. From now on, only latest stable is assumed and tested for. ([#510](https://github.com/watchexec/watchexec/pull/510))
## v1.1.0 (2023-01-09)
- MSRV: bump to 1.61.0

View File

@ -9,7 +9,6 @@ _The default filterer implementation for Watchexec._
- **[API documentation][docs]**.
- Licensed under [Apache 2.0][license].
- Minimum Supported Rust Version: 1.61.0 (incurs a minor semver bump).
- Status: maintained.
[docs]: https://docs.rs/watchexec-filterer-globset

View File

@ -2,6 +2,8 @@
## Next (YYYY-MM-DD)
- Ditch MSRV policy. The `rust-version` indication will remain, for the minimum estimated Rust version for the code features used in the crate's own code, but dependencies may have already moved on. From now on, only latest stable is assumed and tested for. ([#510](https://github.com/watchexec/watchexec/pull/510))
## v1.1.0 (2023-01-09)
- MSRV: bump to 1.61.0

View File

@ -9,7 +9,6 @@ _(Sub)filterer implementation for ignore files._
- **[API documentation][docs]**.
- Licensed under [Apache 2.0][license].
- Minimum Supported Rust Version: 1.61.0 (incurs a minor semver bump).
- Status: maintained.
This is mostly a thin layer above the [ignore-files](../../ignore-files) crate, and is meant to be

View File

@ -2,6 +2,8 @@
## Next (YYYY-MM-DD)
- Ditch MSRV policy. The `rust-version` indication will remain, for the minimum estimated Rust version for the code features used in the crate's own code, but dependencies may have already moved on. From now on, only latest stable is assumed and tested for. ([#510](https://github.com/watchexec/watchexec/pull/510))
## v0.2.0 (2023-01-09)
- MSRV: bump to 1.61.0

View File

@ -9,7 +9,6 @@ _Experimental filterer using tagged filters._
- **[API documentation][docs]**.
- Licensed under [Apache 2.0][license].
- Minimum Supported Rust Version: 1.61.0 (incurs a minor semver bump).
- Status: maintained.
[docs]: https://docs.rs/watchexec-filterer-tagged

View File

@ -1,7 +1,6 @@
[![Crates.io page](https://badgen.net/crates/v/ignore-files)](https://crates.io/crates/ignore-files)
[![API Docs](https://docs.rs/ignore-files/badge.svg)][docs]
[![Crate license: Apache 2.0](https://badgen.net/badge/license/Apache%202.0)][license]
![MSRV: 1.58.0 (minor)](https://badgen.net/badge/MSRV/1.58.0%20%28minor%29/0b7261)
[![CI status](https://github.com/watchexec/watchexec/actions/workflows/check.yml/badge.svg)](https://github.com/watchexec/watchexec/actions/workflows/check.yml)
# Ignore files
@ -10,7 +9,6 @@ _Find, parse, and interpret ignore files._
- **[API documentation][docs]**.
- Licensed under [Apache 2.0][license].
- Minimum Supported Rust Version: 1.58.0 (incurs a minor semver bump).
- Status: done.
[docs]: https://docs.rs/ignore-files

View File

@ -2,6 +2,8 @@
## Next (YYYY-MM-DD)
- Ditch MSRV policy. The `rust-version` indication will remain, for the minimum estimated Rust version for the code features used in the crate's own code, but dependencies may have already moved on. From now on, only latest stable is assumed and tested for. ([#510](https://github.com/watchexec/watchexec/pull/510))
## v2.1.1 (2023-02-14)
## v2.1.0 (2023-01-08)

View File

@ -1,7 +1,6 @@
[![Crates.io page](https://badgen.net/crates/v/watchexec)](https://crates.io/crates/watchexec)
[![API Docs](https://docs.rs/watchexec/badge.svg)][docs]
[![Crate license: Apache 2.0](https://badgen.net/badge/license/Apache%202.0)][license]
![MSRV: 1.61.0 (minor)](https://badgen.net/badge/MSRV/1.61.0%20%28minor%29/0b7261)
[![CI status](https://github.com/watchexec/watchexec/actions/workflows/check.yml/badge.svg)](https://github.com/watchexec/watchexec/actions/workflows/check.yml)
# Watchexec library
@ -10,7 +9,6 @@ _The library which powers [Watchexec CLI](https://watchexec.github.io) and other
- **[API documentation][docs]**.
- Licensed under [Apache 2.0][license].
- Minimum Supported Rust Version: 1.61.0 (incurs a minor semver bump).
- Status: maintained.
[docs]: https://docs.rs/watchexec
@ -86,14 +84,14 @@ struct YourConfigFormat; impl YourConfigFormat { async fn load_from_file(_: &str
The library also exposes a number of components which are available to make your own tool, or to
make anything else you may want:
- **[Command handling](https://docs.rs/watchexec/2.0.0-pre.6/watchexec/command/index.html)**, to
- **[Command handling](https://docs.rs/watchexec/2/watchexec/command/index.html)**, to
build a command with an arbitrary shell, deal with grouped and ungrouped processes the same way,
and supervise a process while also listening for & acting on interventions such as sending signals.
- **Event sources**: [Filesystem](https://docs.rs/watchexec/2.0.0-pre.6/watchexec/fs/index.html),
[Signals](https://docs.rs/watchexec/2.0.0-pre.6/watchexec/signal/source/index.html), (more to come).
- **Event sources**: [Filesystem](https://docs.rs/watchexec/2/watchexec/fs/index.html),
[Signals](https://docs.rs/watchexec/2/watchexec/signal/source/index.html), (more to come).
- Finding **[a common prefix](https://docs.rs/watchexec/2.0.0-pre.6/watchexec/paths/fn.common_prefix.html)**
- Finding **[a common prefix](https://docs.rs/watchexec/2/watchexec/paths/fn.common_prefix.html)**
of a set of paths.
- And [more][docs]!
@ -123,3 +121,16 @@ There are also separate, standalone crates used to build Watchexec which you can
- **[Project Origins](https://docs.rs/project-origins)** finds the origin (or root) path of a
project, and what kind of project it is.
## Rust version (MSRV)
Due to the unpredictability of dependencies changing their MSRV, this library no longer tries to
keep to a minimum supported Rust version behind stable. Instead, it is assumed that developers use
the latest stable at all times.
Applications that wish to support lower-than-stable Rust (such as the Watchexec CLI does) should:
- use a lock file
- recommend the use of `--locked` when installing from source
- provide pre-built binaries (and [Binstall](https://github.com/cargo-bins/cargo-binstall) support) for non-distro users
- avoid using newer features until some time has passed, to let distro users catch up
- consider recommending that distro-Rust users switch to distro `rustup` where available

View File

@ -1,7 +1,6 @@
[![Crates.io page](https://badgen.net/crates/v/project-origins)](https://crates.io/crates/project-origins)
[![API Docs](https://docs.rs/project-origins/badge.svg)][docs]
[![Crate license: Apache 2.0](https://badgen.net/badge/license/Apache%202.0)][license]
![MSRV: 1.58.0 (minor)](https://badgen.net/badge/MSRV/1.58.0%20%28minor%29/0b7261)
[![CI status](https://github.com/watchexec/watchexec/actions/workflows/check.yml/badge.svg)](https://github.com/watchexec/watchexec/actions/workflows/check.yml)
# Project origins
@ -10,7 +9,6 @@ _Resolve project origins and kinds from a path._
- **[API documentation][docs]**.
- Licensed under [Apache 2.0][license].
- Minimum Supported Rust Version: 1.58.0 (incurs a minor semver bump).
- Status: maintained.
[docs]: https://docs.rs/project-origins

View File

@ -19,6 +19,6 @@
| Windows | Chocolatey | [`watchexec`](https://community.chocolatey.org/packages/watchexec) | community | `choco install watchexec` |
| Windows | MSYS2 mingw | [`mingw-w64-watchexec`](https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-watchexec) | official | `pacman -S mingw-w64-x86_64-watchexec` |
| Windows | Scoop | [`watchexec`](https://github.com/ScoopInstaller/Main/blob/master/bucket/watchexec.json) | official | `scoop install watchexec` |
| _Any_ | Crates.io | [`watchexec-cli`](https://crates.io/crates/watchexec-cli) | first-party | `cargo install watchexec-cli` |
| _Any_ | Crates.io | [`watchexec-cli`](https://crates.io/crates/watchexec-cli) | first-party | `cargo install --locked watchexec-cli` |
| _Any_ | Binstall | [`watchexec-cli`](https://crates.io/crates/watchexec-cli) | first-party | `cargo binstall watchexec-cli` |
| _Any_ | Webi | [`watchexec`](https://webinstall.dev/watchexec/) | third-party | varies (see webpage) |