build(dev): add pinned Nix and nix-direnv environments
This commit is contained in:
parent
69682ccb35
commit
dfa39edfa0
7 changed files with 166 additions and 3 deletions
55
flake.nix
Normal file
55
flake.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
description = "STS2 bot development and offline checks";
|
||||
|
||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
outputs = { nixpkgs, ... }:
|
||||
let
|
||||
systems = [ "x86_64-linux" "aarch64-darwin" ];
|
||||
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||
packagesFor = system: import nixpkgs { inherit system; };
|
||||
in
|
||||
{
|
||||
devShells = forAllSystems (system:
|
||||
let pkgs = packagesFor system;
|
||||
in {
|
||||
default = pkgs.mkShellNoCC {
|
||||
packages = with pkgs; [ python3 dotnet-sdk_9 git jujutsu curl bash ];
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT = "1";
|
||||
DOTNET_NOLOGO = "1";
|
||||
};
|
||||
});
|
||||
|
||||
checks = forAllSystems (system:
|
||||
let pkgs = packagesFor system;
|
||||
in {
|
||||
offline = pkgs.runCommand "sts2-offline-checks" {
|
||||
nativeBuildInputs = [ pkgs.python3 pkgs.bash ];
|
||||
# Explicit inputs exclude credentials, local captures, game binaries,
|
||||
# and submodules. Only the committed regression fixtures are needed.
|
||||
source = pkgs.lib.fileset.toSource {
|
||||
root = ./.;
|
||||
fileset = pkgs.lib.fileset.unions [
|
||||
./facts.py ./brain.py ./jev.py ./sts2.py ./run.py
|
||||
./run_state.py ./recording.py ./migrate.py ./policy
|
||||
./test_facts.py ./test_brain.py ./test_run.py
|
||||
./eval_batch.sh ./ab_card_skip.sh
|
||||
./dataset ./capture/09_now.json
|
||||
];
|
||||
};
|
||||
} ''
|
||||
export HOME="$TMPDIR/home"
|
||||
mkdir -p "$HOME"
|
||||
cp -R "$source" source
|
||||
chmod -R u+w source
|
||||
cd source
|
||||
python3 test_facts.py
|
||||
python3 test_brain.py
|
||||
python3 test_run.py
|
||||
python3 migrate.py --check-only
|
||||
bash -n eval_batch.sh ab_card_skip.sh
|
||||
touch "$out"
|
||||
'';
|
||||
});
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue