Skip to content

Commit 481a598

Browse files
committed
feat: use nightly rust with cranelift for fast dev builds
1 parent c067bd8 commit 481a598

7 files changed

Lines changed: 38 additions & 21 deletions

File tree

.cargo/config.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[build]
2+
rustflags = ["-Z", "threads=8"]
3+
4+
[unstable]
5+
codegen-backend = true

.github/workflows/ci-rust.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: CI - Rust
33
on:
44
push:
55
paths:
6+
- .cargo/**
67
- Cargo.toml
78
- Cargo.lock
89
- crates/cli/**
@@ -16,14 +17,19 @@ jobs:
1617
- name: Checkout repository
1718
uses: actions/checkout@v6
1819

20+
- name: Install Rust nightly with Cranelift
21+
uses: dtolnay/rust-toolchain@nightly
22+
with:
23+
components: rustc-codegen-cranelift-preview
24+
1925
- name: Cache Cargo dependencies
2026
uses: Swatinem/rust-cache@v2
2127

2228
- name: Install cargo-llvm-cov
2329
uses: taiki-e/install-action@cargo-llvm-cov
2430

2531
- name: Generate code coverage
26-
run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
32+
run: CARGO_PROFILE_DEV_CODEGEN_BACKEND=llvm cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
2733

2834
- name: Upload coverage to Codecov
2935
if: github.actor != 'dependabot[bot]'
@@ -39,6 +45,11 @@ jobs:
3945
- name: Checkout repository
4046
uses: actions/checkout@v6
4147

48+
- name: Install Rust nightly with Cranelift
49+
uses: dtolnay/rust-toolchain@nightly
50+
with:
51+
components: rustfmt, clippy, rustc-codegen-cranelift-preview
52+
4253
- name: Cache Cargo dependencies
4354
uses: Swatinem/rust-cache@v2
4455

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ publish = false
2020
[patch.crates-io]
2121
num-bigint-dig = { git = "https://github.com/dignifiedquire/num-bigint", rev = "1eb690d9" }
2222

23+
[profile.dev]
24+
codegen-backend = "cranelift"
25+
2326
# The profile that 'dist' will build with
2427
[profile.dist]
2528
inherits = "release"

crates/cli/src/commands/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ macro_rules! writeln_string {
2323
pub async fn get_package_catalog() -> Result<()> {
2424
let packages = api::get_package_catalog()?;
2525
let mut entries: Vec<(&String, &Package)> = packages.iter().collect();
26-
entries.sort_by(|(a, _), (b, _)| a.cmp(b));
26+
entries.sort_by_key(|(a, _)| *a);
2727
for (_name, package) in entries {
2828
println!("{}", package);
2929
}

crates/cli/src/tui/mod.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -813,15 +813,11 @@ impl Modal {
813813
networks,
814814
selected,
815815
} => match key.code {
816-
KeyCode::Up => {
817-
if *selected > 0 {
818-
*selected -= 1;
819-
}
816+
KeyCode::Up if *selected > 0 => {
817+
*selected -= 1;
820818
}
821-
KeyCode::Down => {
822-
if *selected + 1 < networks.len() {
823-
*selected += 1;
824-
}
819+
KeyCode::Down if *selected + 1 < networks.len() => {
820+
*selected += 1;
825821
}
826822
KeyCode::Enter => {
827823
let name = package_name.clone();

flake.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@
2727
overlays = [
2828
rust-overlay.overlays.default
2929
(final: prev: {
30-
rustToolchain = final.rust-bin.stable.latest.default;
30+
rustToolchain = final.rust-bin.nightly.latest.default.override {
31+
extensions = [ "rustc-codegen-cranelift-preview" ];
32+
};
3133
})
3234
];
3335

0 commit comments

Comments
 (0)