You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This makes it so users getting started can copy-paste the installation
commands necessary for both the CLI and the linter, easing onboarding. I
also added an extra step in the release checklist so that these values
get updated every release, so they don't fall behind.
Addresses [this comment on
Discord](https://discord.com/channels/691052431525675048/1278871953721262090/1380381197930074232).
---------
Co-authored-by: DAA <42379074+DaAlbrecht@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -20,10 +20,10 @@ If you need assistance or want to help, reach out to the [`bevy_cli` working gro
20
20
21
21
As the CLI is currently an unofficial tool, it is not yet published to <https://crates.io>. It is available [on Github](https://github.com/TheBevyFlock/bevy_cli), however.
22
22
23
-
You may compile the CLI from scratch using `cargo install`. To install the latest release, make sure to specify the version you wish in the tag (ex. `--tag cli-v0.1.0-alpha.1`).
23
+
You may compile the latest version of the CLI from scratch using `cargo install`:
The CLI is precompiled for Linux, Windows, and macOS. You may install the latest precompiled binary using [`cargo-binstall`](https://github.com/cargo-bins/cargo-binstall):
Copy file name to clipboardExpand all lines: bevy_lint/README.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -27,31 +27,31 @@ see <https://linebender.org/blog/doc-include/>.
27
27
28
28
## Installation
29
29
30
-
`bevy_lint` depends on a pinned nightly version of Rust with the `rustc-dev` Rustup component. This is because `bevy_lint` uses [internal `rustc` crates](https://doc.rust-lang.org/nightly/nightly-rustc/) that can only be imported with the permanently-unstable [`rustc_private` feature](https://doc.rust-lang.org/nightly/unstable-book/language-features/rustc-private.html). You can refer to the [compatibility table](#compatibility) to see which version of the linter requires which toolchain.
30
+
`bevy_lint` depends on a pinned nightly version of Rust with the `rustc-dev` Rustup component. This is because `bevy_lint` uses [internal `rustc` crates](https://doc.rust-lang.org/nightly/nightly-rustc/) that can only be imported with the permanently-unstable [`rustc_private` feature](https://doc.rust-lang.org/nightly/unstable-book/language-features/rustc-private.html). You can refer to the [compatibility table](https://thebevyflock.github.io/bevy_cli/linter/compatibility.html) to see which version of the linter requires which toolchain.
31
31
32
-
You can install the toolchain with:
32
+
You can install the toolchain required for the latest release with:
33
33
34
34
```sh
35
-
rustup toolchain install $TOOLCHAIN_VERSION \
35
+
rustup toolchain install nightly-2025-04-03 \
36
36
--component rustc-dev \
37
37
--component llvm-tools-preview
38
38
```
39
39
40
-
For example, you would replace `$TOOLCHAIN_VERSION` with `nightly-2024-11-14` if you were installing `bevy_lint` v0.1.0, based on the [compatibility table](#compatibility). Please be aware that you must keep this toolchain installed for `bevy_lint` to function[^keep-toolchain-installed].
40
+
If you are installing a different version of the linter, you may need to install a different nightly toolchain as specified by the [compatibility table](https://thebevyflock.github.io/bevy_cli/linter/compatibility.html). Please be aware that you must keep this toolchain installed for `bevy_lint` to function[^keep-toolchain-installed].
41
41
42
42
[^keep-toolchain-installed]: `bevy_lint` imports internal `rustc` libraries in order to hook into the compiler process. These crates are stored in a [dynamic library](https://en.wikipedia.org/wiki/Dynamic_linker) that is installed with the `rustc-dev` component and loaded by `bevy_lint` at runtime. Uninstalling the nightly toolchain would remove this dynamic library, causing `bevy_lint` to fail.
43
43
44
44
Once you have the toolchain installed, you can compile and install `bevy_lint` through `cargo`:
Make sure to replace `$TOOLCHAIN_VERSION` and `$TAG` in the above command. The tag for a specific release can be found in the [releases tab](https://github.com/TheBevyFlock/bevy_cli/releases). For example, the tag for v0.1.0 is `lint-v0.1.0`.
54
+
If you're installing a different version of the linter, you may need to switch the toolchain and tag in the above command.
Copy file name to clipboardExpand all lines: docs/src/cli/install.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,10 @@
4
4
5
5
As the CLI is currently an unofficial tool, it is not yet published to <https://crates.io>. It is available [on Github](https://github.com/TheBevyFlock/bevy_cli), however.
6
6
7
-
You may compile the CLI from scratch using `cargo install`. To install the latest release, make sure to specify the version you wish in the tag (ex. `--tag cli-v0.1.0-alpha.1`).
7
+
You may compile the latest version of the CLI from scratch using `cargo install`:
The CLI is precompiled for Linux, Windows, and macOS. You may install the latest precompiled binary using [`cargo-binstall`](https://github.com/cargo-bins/cargo-binstall):
Copy file name to clipboardExpand all lines: docs/src/contribute/cli/release.md
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,9 @@
9
9
5. Remove the `-dev` suffix from the version in `Cargo.toml`.
10
10
- Please ensure that `Cargo.lock` also updates!
11
11
6. Update both instances of hard-coded version in the URL under `[package.metadata.binstall]` in `Cargo.toml` to be the new version.
12
-
7. Commit your changes and open a pull request.
13
-
8. Merge the PR once a core Bevy maintainer approves it with no outstanding issues from other contributors.
12
+
7. Update the `cargo install` and `cargo binstall` commands in the `README.md` and the [install page](../../cli/install.md) to use the latest version.
13
+
8. Commit your changes and open a pull request.
14
+
9. Merge the PR once a core Bevy maintainer approves it with no outstanding issues from other contributors.
14
15
- This starts the release process, enacting a freeze on all other changes until the release has finished. While maintainers need to be aware of this so they do not merge PRs during this time, the release process should take less than an hour, so it's unlikely to ever be an issue.
Copy file name to clipboardExpand all lines: docs/src/contribute/linter/how-to/release.md
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -10,8 +10,9 @@
10
10
- Please ensure that `Cargo.lock` also updates!
11
11
6. Replace `--branch main` in `action.yml` with `--tag lint-vX.Y.Z`.
12
12
- The `linter-action.yml` workflow may fail as the tag does not exist yet. This is fine!
13
-
7. Commit all of these changes and open a pull request.
14
-
8. Merge the PR once a core Bevy maintainer approves it with no outstanding issues from other contributors.
13
+
7. Update the toolchain install, `bevy_lint` install, and `bevy_lint` uninstall commands in both `README.md` and the [install page](../../../linter/install.md) to use the latest version and toolchain.
14
+
8. Commit all of these changes and open a pull request.
15
+
9. Merge the PR once a core Bevy maintainer approves it with no outstanding issues from other contributors.
15
16
- This starts the release process, enacting a freeze on all other changes until the release has finished. While maintainers need to be aware of this so they do not merge PRs during this time, the release process should take less than an hour, so it's unlikely to ever be an issue.
Copy file name to clipboardExpand all lines: docs/src/linter/install.md
+9-7Lines changed: 9 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -25,39 +25,41 @@ bevy lint --yes
25
25
26
26
`bevy_lint` depends on a pinned nightly version of Rust with the `rustc-dev` Rustup component. This is because `bevy_lint` uses [internal `rustc` crates](https://doc.rust-lang.org/nightly/nightly-rustc/) that can only be imported with the permanently-unstable [`rustc_private` feature](https://doc.rust-lang.org/nightly/unstable-book/language-features/rustc-private.html). You can refer to the [compatibility table](compatibility.md) to see which version of the linter requires which toolchain.
27
27
28
-
You can install the toolchain with:
28
+
You can install the toolchain required for the latest release with:
29
29
30
30
```sh
31
-
rustup toolchain install $TOOLCHAIN_VERSION \
31
+
rustup toolchain install nightly-2025-04-03 \
32
32
--component rustc-dev \
33
33
--component llvm-tools-preview
34
34
```
35
35
36
-
For example, you would replace `$TOOLCHAIN_VERSION` with `nightly-2024-11-14` if you were installing `bevy_lint` v0.1.0, based on the [compatibility table](compatibility.md). Please be aware that you must keep this toolchain installed for `bevy_lint` to function[^keep-toolchain-installed].
36
+
If you are installing a different version of the linter, you may need to install a different nightly toolchain as specified by the [compatibility table](compatibility.md). Please be aware that you must keep this toolchain installed for `bevy_lint` to function[^keep-toolchain-installed].
37
37
38
38
[^keep-toolchain-installed]: `bevy_lint` imports internal `rustc` libraries in order to hook into the compiler process. These crates are stored in a [dynamic library](https://en.wikipedia.org/wiki/Dynamic_linker) that is installed with the `rustc-dev` component and loaded by `bevy_lint` at runtime. Uninstalling the nightly toolchain would remove this dynamic library, causing `bevy_lint` to fail.
39
39
40
40
Once you have the toolchain installed, you can compile and install `bevy_lint` through `cargo`:
Make sure to replace `$TOOLCHAIN_VERSION` and `$TAG` in the above command. The tag for a specific release can be found in the [releases tab](https://github.com/TheBevyFlock/bevy_cli/releases). For example, the tag for v0.1.0 is `lint-v0.1.0`.
50
+
If you're installing a different version of the linter, you may need to switch the toolchain and tag in the above command.
51
51
52
52
## Uninstall
53
53
54
54
If you wish to uninstall the linter at any time, you may use Cargo and Rustup to do so:
55
55
56
56
```sh
57
57
cargo uninstall bevy_lint
58
-
rustup toolchain uninstall $TOOLCHAIN_VERSION
58
+
rustup toolchain uninstall nightly-2025-04-03
59
59
```
60
60
61
+
If you're uninstalling an older version of the linter, such as when you are [upgrading](#upgrade), you may need to uninstall a different toolchain version than the one in the above command. Check out the [compatibility table](compatibility.md) to see which version uses which toolchain.
62
+
61
63
## Upgrade
62
64
63
65
To upgrade to a newer version of the linter, first [uninstall it](#uninstall) then follow the [CLI](#cli) or [manual](#manual) installation instructions.
0 commit comments