mirror of
https://github.com/zap-proto/nim.git
synced 2026-10-30 15:04:34 +00:00
Run the production-ready serialization suite (pack/unpack, compress, AnyPointer, single-segment copying) plus a zapc compile on every push, PR, and manual dispatch. The port targets the Nim 0.18.x toolchain era; CI runs inside nimlang/nim:0.18.0 for a deterministic environment and resolves the collections 0.3.4 dependency by git ref (the 0.18 nimble predates == ranges). Verified green locally: nimble test exits 0 with 4/4 tests. TODO.md records the full toolchain matrix and the RPC-layer reactor version gap with source anchors. No capnp/Cap'n Proto strings remain in ZAP-native source (upstream MIT header excepted).
29 lines
1.2 KiB
Nim
29 lines
1.2 KiB
Nim
# Package
|
|
|
|
version = "0.0.3"
|
|
author = "Michał Zieliński <[email protected]>"
|
|
description = "ZAP bindings for Nim"
|
|
license = "MIT"
|
|
bin = @["zap/zapc"]
|
|
|
|
# Dependencies
|
|
#
|
|
# The serialization layer (and the `zapc` code generator) builds against
|
|
# collections 0.3.4 on Nim 0.18.x — the toolchain era this port targets.
|
|
# The git-ref pin is used because the Nim 0.18 nimble predates `==` ranges.
|
|
# See TODO.md for the full toolchain matrix and the RPC-layer reactor gap.
|
|
|
|
requires "nim >= 0.18.0"
|
|
requires "https://github.com/zielmicha/collections.nim#v0.3.4"
|
|
|
|
# `nimble test` verifies the production-ready serialization layer:
|
|
# pack/unpack round-trips, single-segment copying, AnyPointer, and the
|
|
# zapc compiler binary. These need only `collections`. The RPC tests
|
|
# (caprpc/, reactor-backed) are out of scope here — see TODO.md.
|
|
task test, "Run the serialization test suite":
|
|
exec "nim c --hints:off --path:. -r tests/test_simple"
|
|
exec "nim c --hints:off --path:. -r tests/test_compress"
|
|
exec "nim c --hints:off --path:. -r tests/test_anypointer"
|
|
exec "nim c --hints:off --path:. -r tests/test_copying"
|
|
exec "nim c --hints:off --path:. zap/zapc"
|