mirror of
https://github.com/zap-proto/ruby.git
synced 2026-10-30 15:04:01 +00:00
Adds .github/workflows/ci.yml: ubuntu-latest, ruby/setup-ruby@v1 on Ruby 3.3, installs the linked C++ runtime (libcapnp, the upstream serialization dep — not a ZAP brand surface), then `rake compile` + `rake spec`. Build/test fixes required to get green: - ext/zap/extconf.rb: on macOS, pin the active SDK via `xcrun --show-sdk-path`. Homebrew/rbenv Rubies carry no sysroot in RbConfig and mkmf omits -isysroot, so clang could not find <stdio.h>/<iostream> and every probe + the real build failed. No-op on Linux/CI and when a sysroot is already set. - zap.gemspec / Rakefile: rspec ~> 2.14 cannot load on modern Ruby/Rake (RakeTask hits the removed Rake#last_comment); bump to rspec ~> 3.13. Bump rake-compiler ~> 0.9 -> ~> 1.2 to match. The native extension links upstream libcapnp; capnp:: C++ calls and capnp/kj includes are that library's real API and are intentionally retained. No ZAP-facing identifier references capnp. Local (Ruby 3.3.11, libcapnp 1.4.0): `bundle exec rake compile` + `rake spec` green — 5 examples, 0 failures.