diff --git a/.github/workflows/gem.yml b/.github/workflows/gem.yml index d60f2f9..ae47ca4 100644 --- a/.github/workflows/gem.yml +++ b/.github/workflows/gem.yml @@ -21,7 +21,6 @@ jobs: - "x86_64-darwin" - "x86_64-linux-gnu" - "x86_64-linux-musl" - - "x64-mingw32" - "x64-mingw-ucrt" environment: "yrb-deploy" steps: @@ -35,21 +34,11 @@ jobs: cargo-cache: true cargo-vendor: true - - name: Transform platform name - id: transform_platform - run: echo "cross_gem_platform=$(echo '${{ matrix.platform }}' | sed 's/-gnu$//')" >> $GITHUB_ENV - - - uses: oxidize-rb/cross-gem-action@main - with: - platform: ${{ env.cross_gem_action_platform }} - version: 'latest' - env: | - RUBY_CC_VERSION=3.4.0:3.3.5:3.2.0:3.1.0 - - - uses: actions/download-artifact@v3 + - uses: oxidize-rb/actions/cross-gem@v1 + id: cross-gem with: - name: cross-gem - path: pkg/ + platform: ${{ matrix.platform }} + ruby-versions: '3.1,3.2,3.3,3.4' - name: Display structure of built gems run: ls -R diff --git a/.ruby-version b/.ruby-version index a9cadc6..408069a 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-3.2.0 +ruby-3.4.1 diff --git a/Cargo.lock b/Cargo.lock index 93c53b8..c22411a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,15 +39,15 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byteorder" @@ -123,9 +123,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.24" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6ea2a48c204030ee31a7d7fc72c93294c92fe87ecb1789881c9543516e1a0d" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "magnus" @@ -286,18 +286,18 @@ dependencies = [ [[package]] name = "rb-sys" -version = "0.9.107" +version = "0.9.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56aaf81d9efc195606456e91896297ee5ab2002381539f8ed1ba6b4f2e467f3b" +checksum = "56cf964f8e44115e50009921ea3d3791b6f74d1ae6d6ed37114fbe03a1cd7308" dependencies = [ "rb-sys-build", ] [[package]] name = "rb-sys-build" -version = "0.9.107" +version = "0.9.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "035b513baded6df2b90a8559efb1973c47ba42e16c21c5f0863dd2aa4dbd6abe" +checksum = "161480347f56473107d4135643b6b1909331eec61445e113b256708a28b691c5" dependencies = [ "bindgen", "lazy_static", @@ -349,11 +349,17 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustversion" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" + [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "seq-macro" @@ -383,9 +389,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -473,9 +479,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "wasi" @@ -485,20 +491,21 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", @@ -510,9 +517,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -520,9 +527,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -533,9 +540,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "windows-targets" diff --git a/Rakefile b/Rakefile index 60db2d1..3e4de4e 100644 --- a/Rakefile +++ b/Rakefile @@ -2,11 +2,12 @@ require "bundler/gem_tasks" require "rubygems/package_task" +require "rake_compiler_dock" require "rake/testtask" require "rake/extensiontask" require "rb_sys" -cross_rubies = %w[3.4.0 3.3.5 3.2.0 3.1.0] +ruby_cc_version = RakeCompilerDock.ruby_cc_version([">= 3.1", "< 3.5"]) cross_platforms = %w[ aarch64-linux-gnu aarch64-linux-musl @@ -41,15 +42,11 @@ namespace "gem" do cross_platforms.each do |plat| desc "Build the native gem for #{plat}" task plat => "prepare" do - require "rake_compiler_dock" - - # rbsys doesn't ship an alias -gnu image yet - rcd_plat = plat.gsub(/-gnu$/, '') - ENV["RCD_IMAGE"] = "rbsys/#{rcd_plat}:#{RbSys::VERSION}" + ENV["RCD_IMAGE"] = "rbsys/#{plat}:#{RbSys::VERSION}" RakeCompilerDock.sh <<~SH, platform: plat bundle && \ - RUBY_CC_VERSION="#{cross_rubies.join(":")}" \ + RUBY_CC_VERSION="#{ruby_cc_version}" rake native:#{plat} pkg/#{spec.full_name}-#{plat}.gem SH end diff --git a/y-rb.gemspec b/y-rb.gemspec index 03cc831..a569251 100644 --- a/y-rb.gemspec +++ b/y-rb.gemspec @@ -37,11 +37,10 @@ Gem::Specification.new do |spec| spec.metadata["rubygems_mfa_required"] = "true" spec.add_dependency "rake", "~> 13.2" - spec.add_dependency "rb_sys", "~> 0.9.86" + spec.add_dependency "rb_sys", "~> 0.9.110" spec.add_development_dependency "base64" spec.add_development_dependency "rake-compiler", "~> 1.2.1" - spec.add_development_dependency "rake-compiler-dock", "~> 1.9.1" spec.extensions = ["ext/yrb/extconf.rb"] end