Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ubuntu_x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
run: cargo run --locked --release format --check crates/compiler/builtins/roc

- name: ensure there are no unused dependencies
run: cargo +nightly-2024-02-03 udeps --all-targets
run: cargo +nightly-2025-09-14 udeps --all-targets

- name: zig wasm tests
run: cd crates/compiler/builtins/bitcode && ./run-wasm-tests.sh
Expand Down Expand Up @@ -65,5 +65,5 @@ jobs:

#- name: run fuzz tests - ok to merge if this one fails # for now!
# run: |
# cargo +nightly-2024-02-03 install --locked cargo-fuzz
# cd crates/compiler/test_syntax/fuzz && cargo +nightly-2024-02-03 fuzz run -j4 fuzz_expr --sanitizer=none -- -dict=dict.txt -max_total_time=60
# cargo +nightly-2025-09-14 install --locked cargo-fuzz
# cd crates/compiler/test_syntax/fuzz && cargo +nightly-2025-09-14 fuzz run -j4 fuzz_expr --sanitizer=none -- -dict=dict.txt -max_total_time=60
4 changes: 2 additions & 2 deletions .github/workflows/windows_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ jobs:
cd crates\compiler\builtins\bitcode\
zig build test

- name: install rust nightly 1.77.0
run: rustup install nightly-2024-02-03
- name: install rust nightly 1.91.0
run: rustup install nightly-2025-09-14

- name: set up llvm 18
run: |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[toolchain]
channel = "1.77.2"
channel = "1.91.1"

profile = "default"

components = [
# for usages of rust-analyzer or similar tools inside `nix develop`
"rust-src"
]
]
2 changes: 1 addition & 1 deletion crates/compiler/build/src/link.rs
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ pub fn rebuild_host(
// on windows, we need the nightly toolchain so we can use `-Z export-executable-symbols`
// using `+nightly` only works when running cargo through rustup
let mut cmd = rustup();
cmd.args(["run", "nightly-2024-02-03", "cargo"]);
cmd.args(["run", "nightly-2025-09-14", "cargo"]);

cmd
} else {
Expand Down
2 changes: 1 addition & 1 deletion crates/repl_test/src/wasm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use roc_wasm_interp::{
};

const COMPILER_BYTES: &[u8] =
include_bytes!("../../../target/wasm32-wasi/release-with-lto/roc_repl_wasm.wasm");
include_bytes!("../../../target/wasm32-wasip1/release-with-lto/roc_repl_wasm.wasm");

struct CompilerDispatcher<'a> {
arena: &'a Bump,
Expand Down
4 changes: 2 additions & 2 deletions crates/repl_test/test_wasm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ set -euxo pipefail
# If we ever decide to do that, one of the cargo processes will need to use the `--target-dir` option.

# We need to clear RUSTFLAGS for this command, as CI sets normally some flags that are specific to CPU targets.
# Tests target wasm32-wasi instead of wasm32-unknown-unknown, so that we can debug with println! and dbg
# Tests target wasm32-wasip1 instead of wasm32-unknown-unknown, so that we can debug with println! and dbg
# This has to be built with lto for now. If we do not use lto, it will pull in system calls we don't yet support.
# TODO: Add system calls to our wasi interp so that this can just be built in release without lto.
RUSTFLAGS="" cargo build --locked --profile release-with-lto --target wasm32-wasi -p roc_repl_wasm --no-default-features --features wasi_test
RUSTFLAGS="" cargo build --locked --profile release-with-lto --target wasm32-wasip1 -p roc_repl_wasm --no-default-features --features wasi_test

# Build & run the test code on *native* target, not WebAssembly
cargo test --locked --release -p repl_test --features wasm $@
20 changes: 10 additions & 10 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

inputs = {
nixpkgs.url =
"github:nixos/nixpkgs?rev=184957277e885c06a505db112b35dfbec7c60494";
"github:nixos/nixpkgs?rev=50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a";

# rust from nixpkgs has some libc problems, this is patched in the rust-overlay
rust-overlay = {
Expand Down
2 changes: 1 addition & 1 deletion nix/compile-deps.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ pkgs }:
let
zigPkg = pkgs.zig;
zigPkg = pkgs.zig_0_13;
llvmPkgs = pkgs.llvm_18;
llvmVersion = builtins.splitVersion llvmPkgs.release_version;
llvmMajorMinorStr = builtins.elemAt llvmVersion 0 + builtins.elemAt llvmVersion 1;
Expand Down
11 changes: 5 additions & 6 deletions rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
[toolchain]
# How to update version:
# - update `channel = "RUST_VERSION"`
# - update `channel = "RUST_VERSION"` in examples/platform-switching/rust-platform/rust-toolchain.toml
# - update `channel = "RUST_VERSION"` in examples/glue/rust-platform/rust-toolchain.toml
# - update `channel = "RUST_VERSION"` in crates/cli/tests/platform-switching/rust-platform/rust-toolchain.toml
# - to update the nightly version:
# - Find the latest nightly release that matches RUST_VERSION here: https://github.com/oxalica/rust-overlay/tree/master/manifests/nightly/2024
# - Find the latest nightly release that matches RUST_VERSION here: https://github.com/oxalica/rust-overlay/tree/master/manifests/nightly/2025
# - update `channel = "nightly-OLD_DATE"` below
# - update nightly-OLD_DATE in .github/workflows/ubuntu_x86_64.yml
# - update nightly-OLD_DATE in .github/workflows/windows_tests.yml
# - update nightly-OLD_DATE in .github/workflows/windows_release_build.yml
# - update nightly-OLD_DATE in crates/compiler/build/src/link.rs

channel = "1.77.2" # check ^^^ when changing this
channel = "1.91.1" # check ^^^ when changing this
#
# channel = "nightly-2024-02-03" # 1.77.0 nightly to be able to use unstable features
# channel = "nightly-2025-09-14" # 1.91.0 nightly to be able to use unstable features
profile = "default"
components = [
# for usages of rust-analyzer or similar tools inside `nix develop`
"rust-src"
]

targets = [
"wasm32-wasi", # for test_wasm.sh
"wasm32-wasip1", # for test_wasm.sh
"wasm32-unknown-unknown", # for repl_wasm
]
Loading