Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
240a3f8
Fix toolchain invocation for Nix and resolve partial crate versions
christian-blades-cb Mar 17, 2026
dbd78f2
Return semver-sorted version list when crate version not found
christian-blades-cb Apr 13, 2026
427d099
Apply version resolution earlier in cache and docs paths
christian-blades-cb Apr 13, 2026
8c7bf98
Use rolling nightly in flake instead of pinned toolchain date
christian-blades-cb Apr 13, 2026
3d4fcfc
Resolve version upfront and use that version for subsequent calls
christian-blades-cb Apr 13, 2026
bcbe758
fixup! use resolved version in get_dependencies
christian-blades-cb Apr 13, 2026
23950da
fixup! isLinux, test attribute
christian-blades-cb Apr 14, 2026
4a2531d
cargo fmt --all
christian-blades-cb Apr 14, 2026
4117aaf
lint! address clippy
christian-blades-cb Apr 14, 2026
92751a7
Replace redundant resolve_crates_io_version with resolve_version in e…
christian-blades-cb Apr 14, 2026
fe41505
Add nix flake check CI workflow
christian-blades-cb Apr 14, 2026
d160f82
limit flake check systems
christian-blades-cb Apr 14, 2026
fe0ba35
Fix toolchain detection and feature fallback for Nix/non-rustup envir…
christian-blades-cb Apr 16, 2026
9e19f4e
Add cross-platform feature fallback integration test; fix bevy test s…
christian-blades-cb Apr 16, 2026
a363858
Merge remote-tracking branch 'origin/main' into fixup-nixos-invokation
snowmead Jul 9, 2026
106f036
Merge main and fix integration test after features field addition
snowmead Jul 9, 2026
c71c918
Address review feedback on version errors and Nix rustdoc invocation
snowmead Jul 9, 2026
400b2b3
Fix unused Context import on non-macOS CI targets
snowmead Jul 9, 2026
15d4f38
Restore anyhow::Context import for merged CLI integration tests
snowmead Jul 9, 2026
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
29 changes: 29 additions & 0 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Nix

permissions:
contents: read

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
check:
name: nix flake check
runs-on: ubuntu-latest
timeout-minutes: 60

steps:
- uses: actions/checkout@v4

- uses: DeterminateSystems/nix-installer-action@main

- uses: DeterminateSystems/magic-nix-cache-action@main

- name: Check flake
run: nix flake check

- name: Check dev shell
run: nix develop --command rustc --version
4 changes: 2 additions & 2 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
${{ runner.os }}-cargo-

- name: Run unit tests
run: cargo test --workspace --lib --bins --verbose
run: cargo test --workspace --lib --bins --verbose -- --include-ignored

- name: Run doc tests
run: cargo test --workspace --doc --verbose
Expand Down Expand Up @@ -107,4 +107,4 @@ jobs:
${{ runner.os }}-cargo-

- name: Run integration tests
run: cargo test --workspace --test integration_tests --verbose
run: cargo test --workspace --test integration_tests --verbose -- --include-ignored
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
29 changes: 19 additions & 10 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,17 @@
pkgs,
...
}: let
# Use rust-toolchain.toml for the exact nightly version
rustToolchain = inputs'.fenix.packages.fromToolchainFile {
file = ./rust-toolchain.toml;
sha256 = "";
};

# Nightly toolchain for runtime (used by the binary to fetch docs)
rustNightly = rustToolchain;
# Use fenix's rolling latest nightly so the flake doesn't break every
# time the preferred dated nightly in rust-toolchain.toml changes.
# The runtime's toolchain probe (resolve_toolchain) validates
# compatibility at startup anyway.
rustNightly = inputs'.fenix.packages.latest.withComponents [
"cargo"
"clippy"
"rustc"
"rustfmt"
"rust-src"
];

craneLib = inputs.crane.mkLib pkgs;

Expand All @@ -61,12 +64,12 @@
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
]
++ pkgs.lib.optional pkgs.lib.isLinux gcc.cc.lib;
++ pkgs.lib.optional pkgs.stdenv.hostPlatform.isLinux gcc.cc.lib;

nativeBuildInputs = with pkgs; [
pkg-config
]
++ pkgs.lib.optional pkgs.lib.isLinux autoPatchelfHook;
++ pkgs.lib.optional pkgs.stdenv.hostPlatform.isLinux autoPatchelfHook;
};

# Build dependencies only
Expand Down Expand Up @@ -124,6 +127,12 @@
inherit cargoArtifacts;
partitions = 1;
partitionType = "count";
}
// pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
# autoPatchelfHook only runs during fixupPhase, but nextest
# executes test binaries during checkPhase — set LD_LIBRARY_PATH
# so they can find libssl and other shared libs.
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [pkgs.openssl];
});
};
};
Expand Down
Loading
Loading