Add nix test. (#2513)
* Add nix test. * Modifying yourself means you need to rerun. * Fixing the test + adding click (needed for pre-commit hooks). * Try thuis. * Our runner + pure test (not written) * Reemove server. * Root user. * Different user ? * Add the actual test target. * Forgot this modification. * Add a formatter. * Add the secrets. * Fixed the auth token ? * Adding the other tests. * Missing pre-commit. * Test requires cargo for cargo fmt. * Update it a bit. * Up. * Attempting to use a cache location for the models. * Ignore the cache for now.
This commit is contained in:
parent
94304649f1
commit
d95c670ada
|
@ -0,0 +1,41 @@
|
|||
name: "Nix Tests"
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- ".github/workflows/nix_tests.yaml"
|
||||
- "server/**"
|
||||
- "proto/**"
|
||||
- "router/**"
|
||||
- "launcher/**"
|
||||
- "Cargo.lock"
|
||||
- "rust-toolchain.toml"
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
runs-on:
|
||||
group: aws-highmemory-32-plus-priv
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: cachix/install-nix-action@v27
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
- uses: cachix/cachix-action@v14
|
||||
with:
|
||||
name: text-generation-inference
|
||||
# If you chose signing key for write access
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
env:
|
||||
USER: github_runner
|
||||
- name: Build
|
||||
run: nix develop .#test --command echo "Ok"
|
||||
- name: Pre-commit tests.
|
||||
run: nix develop .#test --command pre-commit run --all-files
|
||||
- name: Python tests.
|
||||
run: nix develop .#test --command python -m pytest server/tests/
|
||||
env:
|
||||
HF_TOKEN: ${{ secrets.HF_TOKEN }}
|
||||
- name: Rust tests.
|
||||
run: nix develop .#test --command cargo test
|
25
flake.nix
25
flake.nix
|
@ -69,6 +69,7 @@
|
|||
server = pkgs.python3.pkgs.callPackage ./nix/server.nix { inherit nix-filter; };
|
||||
in
|
||||
{
|
||||
formatter = pkgs.nixfmt-rfc-style;
|
||||
devShells = with pkgs; rec {
|
||||
default = pure;
|
||||
|
||||
|
@ -80,6 +81,29 @@
|
|||
server
|
||||
];
|
||||
};
|
||||
test = mkShell {
|
||||
buildInputs =
|
||||
[
|
||||
# benchmark
|
||||
# launcher
|
||||
# router
|
||||
server
|
||||
openssl.dev
|
||||
pkg-config
|
||||
cargo
|
||||
rustfmt
|
||||
clippy
|
||||
]
|
||||
++ (with python3.pkgs; [
|
||||
docker
|
||||
pytest
|
||||
pytest-asyncio
|
||||
syrupy
|
||||
pre-commit
|
||||
ruff
|
||||
]);
|
||||
|
||||
};
|
||||
|
||||
impure = mkShell {
|
||||
buildInputs =
|
||||
|
@ -99,6 +123,7 @@
|
|||
docker
|
||||
pip
|
||||
ipdb
|
||||
click
|
||||
pyright
|
||||
pytest
|
||||
pytest-asyncio
|
||||
|
|
Loading…
Reference in New Issue