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
Copy file name to clipboardExpand all lines: README.md
+51-5Lines changed: 51 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,18 +5,23 @@
5
5
6
6
Criticalup is a toolchain manager for [Ferrocene][ferrocene], similar to [`rustup`][rustup].
7
7
8
-
> [!NOTE]
8
+
> [!NOTE]
9
9
>
10
10
> For normal usage and binary installation, please consult the [CriticalUp Documentation][criticalup-docs].
11
11
12
-
# Installing
12
+
##Installing
13
13
14
-
Installation instructions for CriticalUp are included in [each release](https://github.com/ferrocene/criticalup/releases) as well as the [documentation][criticalup-docs].
14
+
Installation instructions for CriticalUp are included
15
+
in [each release](https://github.com/ferrocene/criticalup/releases) as well as the [documentation][criticalup-docs].
15
16
17
+
## Development
16
18
17
-
# Development
19
+
CriticalUp only requires a working Rust and C toolchain to build. [Installation instructions][rust-install] for Rust
20
+
typically include installing a C toolchain as well.
18
21
19
-
CriticalUp only requires a working Rust and C toolchain to build. [Installation instructions][rust-install] for Rust typically include installing a C toolchain as well.
22
+
### Build
23
+
24
+
#### Debug
20
25
21
26
To build a debug version of the development-targeting CriticalUp:
22
27
@@ -30,19 +35,60 @@ To build a debug version of the production-targeting CriticalUp:
30
35
cargo build -p criticalup
31
36
```
32
37
38
+
#### Release
39
+
33
40
To build a release version:
34
41
35
42
```bash
36
43
cargo build -p criticalup --release
37
44
```
38
45
46
+
### Test
47
+
39
48
To test CriticalUp:
40
49
41
50
```bash
42
51
cargo test
43
52
```
44
53
54
+
## Releasing a new version
55
+
56
+
We use [`cargo-dist`](https://opensource.axo.dev/cargo-dist/book/quickstart/rust.html) to publish releases.
57
+
58
+
To cut a release:
59
+
60
+
- Update the `main` branch with latest changes.
61
+
- Create and checkout a new release branch from `main` with name like `release/vX.Y.Z`.
62
+
Where, X.Y.Z is the release version you are targeting.
63
+
- Update the following on the release branch
64
+
-[dist-workspace.toml](./dist-workspace.toml): Change `pr-run-mode = "plan"` to `pr-run-mode = "upload"`.
65
+
**Commit this change separately!** (We will need to revert this commit once the PR passes.)
66
+
-[crates/criticalup/Cargo.toml](./crates/criticalup/Cargo.toml): Change `version` to `X.Y.Z`.
67
+
-[crates/criticalup-cli/Cargo.toml](./crates/criticalup-cli/Cargo.toml): Change `version` to `X.Y.Z`.
68
+
-[crates/criticalup-dev/Cargo.toml](./crates/criticalup-dev/Cargo.toml): Change `version` to `X.Y.Z`.
0 commit comments