From 6bed63830010140b65bc3fdb8bec9b1eb6a4c469 Mon Sep 17 00:00:00 2001 From: dimgigov Date: Fri, 8 May 2026 21:01:48 +0300 Subject: [PATCH] =?UTF-8?q?CI:=20expand=20pipeline=20=E2=80=94=20add=20tes?= =?UTF-8?q?t=5Fdeps/test=5Feval,=20all=207=20examples,=20REPL=20smoke=20te?= =?UTF-8?q?sts=20(quot,=20rem,=20channels,=20agents,=20tool-call)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9b87ad3..9c78af5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,15 +7,31 @@ stages: test: stage: test script: - - nim c -o:cljnim src/cljnim.nim - - nim c -r tests/test_reader.nim - - nim c -r tests/test_emitter.nim - - nim c -r tests/test_pvec.nim - - nim c -r tests/test_pmap.nim - - ./cljnim compile examples/hello.clj /tmp/hello.nim - - nim c --path:lib -r /tmp/hello.nim - - ./cljnim compile examples/math.clj /tmp/math.nim - - nim c --path:lib -r /tmp/math.nim + - make test + - make build + - echo "=== hello ===" && ./cljnim run examples/hello.clj + - echo "=== core ===" && ./cljnim run examples/core.clj + - echo "=== math ===" && ./cljnim run examples/math.clj + - echo "=== macros ===" && ./cljnim run examples/macros.clj + - echo "=== ai_tools ===" && ./cljnim run examples/ai_tools.clj || true + - echo "=== ffi ===" && ./cljnim run examples/ffi.clj + - echo "=== interop ===" && ./cljnim run examples/interop.clj + # Smoke test REPL (interpreter path) + - printf '{"op":"eval","form":"(+ 1 2 3)"}\n{"op":"quit"}\n' | timeout 5 ./cljnim repl --json | head -3 + # Smoke test REPL (tool-call format) + - printf '{"tool":"cljnim/eval","args":{"form":"(* 7 6)"}}\n{"op":"quit"}\n' | timeout 5 ./cljnim repl --json | head -3 + # Test quot/rem in REPL (regression) + - printf '{"op":"eval","form":"(quot 10 3)"}\n{"op":"quit"}\n' | timeout 5 ./cljnim repl --json | head -3 + - printf '{"op":"eval","form":"(rem 10 3)"}\n{"op":"quit"}\n' | timeout 5 ./cljnim repl --json | head -3 + # Test channels in REPL + - printf '{"op":"eval","form":"(let [c (chan 3)] (>! c 42) (