protovalidate 0.1.0.beta1-x86_64-linux-gnu → 0.1.0.beta2-x86_64-linux-gnu

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2de51a476eefcd2ea3fdc74b261682da22d3f6a4cceb988c541340bc80bcd20
4
- data.tar.gz: 00e8d625eceba6f5ed729267cf8147cd4e8704f2e256f2213a7dc1fb97a96c87
3
+ metadata.gz: de64d8280afb2092520b3186fc57430bf7a73c06624335be1a9dc70236a0306e
4
+ data.tar.gz: c24bc36835bf4044fedd0f6b4cd487d1fc931f7cd63db2143cb55fa2f720f73e
5
5
  SHA512:
6
- metadata.gz: 82279d26e9e7e59766453fff95012776001a85e64d466d54787abb05ea8473efb699210f56431e7335d9b0cf8a0d3df6b03c56580e6aad1c905204392c6805f0
7
- data.tar.gz: 821d9e36b8f004cbe0976559c8c24f4de70ef23efbc218c5990103236a0172df0cd2ec24ff85340dc6d93b50404a96ff4d5c92c1416c9f2a2c1351f71d409556
6
+ metadata.gz: 5eb031e540dfcde5853a42bf65ba1059bd1437d72cbd3bbafc465c88835ff8362812fc7b44495d9bf0be2a7edb8ef83fba03740de1be015d5b145cbb7180956c
7
+ data.tar.gz: ed95c6000e146c864a88913d805002cbfe31d70d2524e8de17179a84d79a5ef2bff67eb5a6646821796ad23b0a9315e756576c2cf58b00c3cb78d24a03b9cd8b
data/.gitattributes ADDED
@@ -0,0 +1,12 @@
1
+ ext/protovalidate/sys/third_party/** linguist-vendored
2
+
3
+ # script/extract-native-sources
4
+ ext/protovalidate/sys/gen/** linguist-generated
5
+ ext/protovalidate/sys/filelists/*.txt linguist-generated
6
+
7
+ # rake proto:generate
8
+ lib/buf/validate/validate_pb.rb linguist-generated
9
+ spec/gen/** linguist-generated
10
+
11
+ # Compiled descriptor set of spec/proto
12
+ spec/fixtures/spec_messages.fdset linguist-generated
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0.beta2 (2026-09-21)
4
+
5
+ - Precompiled gems for `x86_64-linux-musl`, `aarch64-linux-musl`, `arm-linux-gnu` and `x64-mingw-ucrt`.
6
+ - Precompiled Linux glibc gems now require glibc 2.34 or newer (was 2.28); older hosts fall back to the source gem.
7
+
3
8
  ## 0.1.0.beta1 (2026-09-20)
4
9
 
5
10
  - Initial release: `Protovalidate.validate` / `collect_violations` backed by protovalidate-cc 1.2.0 (protovalidate 1.2.2).
data/README.md CHANGED
@@ -14,8 +14,11 @@ Precompiled gems are published for:
14
14
 
15
15
  | Platform | Requirements |
16
16
  |---|---|
17
- | `x86_64-linux-gnu`, `aarch64-linux-gnu` | glibc 2.28 or newer |
17
+ | `x86_64-linux-gnu`, `aarch64-linux-gnu` | glibc 2.34 or newer |
18
+ | `arm-linux-gnu` (ARMv7, hard float) | glibc 2.31 or newer |
19
+ | `x86_64-linux-musl`, `aarch64-linux-musl` | musl libc, e.g. Alpine Linux |
18
20
  | `arm64-darwin` | macOS 11 or newer |
21
+ | `x64-mingw-ucrt` | RubyInstaller (UCRT) Ruby |
19
22
 
20
23
  Each covers Ruby 3.3, 3.4 and 4.0. On other platforms or Ruby versions the source gem is built at install time, which needs a Rust toolchain (1.85+), a C++17 compiler and a few minutes: it compiles protovalidate-cc, cel-cpp, abseil, protobuf, re2 and the ANTLR runtime.
21
24
 
@@ -86,7 +89,7 @@ bundle exec rake steep yard:check rubocop
86
89
 
87
90
  The native code lives in `ext/protovalidate`: `src/lib.rs` binds `Protovalidate::Native::Engine` with [magnus](https://github.com/matsadler/magnus), and `sys/` compiles protovalidate-cc and its dependencies from git submodules using file lists derived from protovalidate-cc's Bazel build. To move to a new protovalidate-cc release, edit `ext/protovalidate/sys/versions.json`, run `script/extract-native-sources` (needs Bazel), update `PROTOVALIDATE_VERSION` in `lib/protovalidate/version.rb` if the specification version moved, and run `bundle exec rake proto:generate`.
88
91
 
89
- Precompiled gems are assembled by `.github/workflows/native.yml`: Linux builds run inside manylinux_2_28 containers, macOS builds on macos-15, and `rake 'gem:native[PLATFORM]'` packages one gem per platform.
92
+ Precompiled gems are assembled by `.github/workflows/native.yml`: glibc Linux builds run inside manylinux_2_34 containers, macOS builds on macos-15 and Windows builds on windows-2025. musl and 32-bit ARM builds are cross-compiled with `rake cross compile` inside [rb-sys-dock](https://github.com/oxidize-rb/rb-sys) images, with newer cross compilers swapped in. `rake 'gem:native[PLATFORM]'` packages one gem per platform.
90
93
 
91
94
  ## License
92
95
 
data/Rakefile CHANGED
@@ -14,6 +14,11 @@ Rake::ExtensionTask.new("protovalidate_native") do |ext|
14
14
  ext.ext_dir = "ext/protovalidate"
15
15
  ext.lib_dir = "lib/protovalidate"
16
16
  ext.source_pattern = "{Cargo.toml,Cargo.lock,build.rs,src/**/*.rs,sys/Cargo.toml,sys/build.rs,sys/src/**/*.rs,sys/shim/*,sys/filelists/*.txt}"
17
+ # Platforms without a native CI runner are cross-compiled inside rb-sys-dock
18
+ # images (see .github/workflows/native.yml). Given several RUBY_CC_VERSIONs,
19
+ # `rake cross compile` stages each under tmp/<platform>/stage/lib/protovalidate/<X.Y>/.
20
+ ext.cross_compile = true
21
+ ext.cross_platform = %w[x86_64-linux-musl aarch64-linux-musl arm-linux-gnueabihf]
17
22
  end
18
23
 
19
24
  RSpec::Core::RakeTask.new(:spec)
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Protovalidate
4
4
  # Version of this gem.
5
- VERSION = "0.1.0.beta1"
5
+ VERSION = "0.1.0.beta2"
6
6
 
7
7
  # Version of the protovalidate specification (buf.validate protos and
8
8
  # conformance suite) this gem bundles and is validated against.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protovalidate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.beta1
4
+ version: 0.1.0.beta2
5
5
  platform: x86_64-linux-gnu
6
6
  authors:
7
7
  - Sorah Fukumori
@@ -25,13 +25,14 @@ dependencies:
25
25
  version: '4.31'
26
26
  description: Ruby implementation of protovalidate. Validates Protobuf messages against
27
27
  the buf.validate rules in their schema, evaluated with CEL by protovalidate-cc through
28
- a native extension. Precompiled gems are published for Linux and macOS.
28
+ a native extension. Precompiled gems are published for Linux, macOS and Windows.
29
29
  email:
30
30
  - sorah@ivry.jp
31
31
  executables: []
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
+ - ".gitattributes"
35
36
  - ".yardopts"
36
37
  - CHANGELOG.md
37
38
  - LICENSE.txt