From 0b7baa2dc80eaa10fe2ce78a23f8b2a264be9278 Mon Sep 17 00:00:00 2001 From: eggplants Date: Tue, 30 Dec 2025 23:08:33 +0900 Subject: [PATCH 1/3] Add Ruby 4.0 --- app/ruby_engine.rb | 21 +++++++++++++-------- app/ruby_engine/cruby_wasi.rb | 4 ++-- app/try_ruby.rb | 2 +- spec/playground_spec.rb | 2 +- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/app/ruby_engine.rb b/app/ruby_engine.rb index 85757b3..4a93764 100644 --- a/app/ruby_engine.rb +++ b/app/ruby_engine.rb @@ -39,20 +39,25 @@ def loading(part = nil) # When you update the engines, ensure that they are tested correctly. # Update the engine list also in spec/playground_spec. ENGINES = [ - # https://www.jsdelivr.com/package/npm/@ruby/3.4-wasm-wasi?tab=files&path=dist&version=2.7.2 + # https://www.jsdelivr.com/package/npm/@ruby/4.0-wasm-wasi?tab=files&path=dist&version=2.8.1 CRubyWASI.new( - "https://cdn.jsdelivr.net/npm/@ruby/3.4-wasm-wasi@2.7.2/dist/ruby.wasm", + "https://cdn.jsdelivr.net/npm/@ruby/4.0-wasm-wasi@2.8.1/dist/ruby.wasm", + "4.0.0" + ), + # https://www.jsdelivr.com/package/npm/@ruby/3.4-wasm-wasi?tab=files&path=dist&version=2.8.1 + CRubyWASI.new( + "https://cdn.jsdelivr.net/npm/@ruby/3.4-wasm-wasi@2.8.1/dist/ruby.wasm", "3.4.1" ), - # https://www.jsdelivr.com/package/npm/@ruby/3.3-wasm-wasi?tab=files&path=dist&version=2.7.2 + # https://www.jsdelivr.com/package/npm/@ruby/3.3-wasm-wasi?tab=files&path=dist&version=2.8.1 CRubyWASI.new( - "https://cdn.jsdelivr.net/npm/@ruby/3.3-wasm-wasi@2.7.2/dist/ruby.wasm", - "3.3.0" + "https://cdn.jsdelivr.net/npm/@ruby/3.3-wasm-wasi@2.8.1/dist/ruby.wasm", + "3.3.3" ), - # https://www.jsdelivr.com/package/npm/@ruby/3.2-wasm-wasi?tab=files&path=dist&version=2.7.2 + # https://www.jsdelivr.com/package/npm/@ruby/3.2-wasm-wasi?tab=files&path=dist&version=2.8.1 CRubyWASI.new( - "https://cdn.jsdelivr.net/npm/@ruby/3.2-wasm-wasi@2.7.2/dist/ruby.wasm", - "3.2.2" + "https://cdn.jsdelivr.net/npm/@ruby/3.2-wasm-wasi@2.8.1/dist/ruby.wasm", + "3.2.4" ), # Opal.new, OpalWebWorker.new("1.8.2"), diff --git a/app/ruby_engine/cruby_wasi.rb b/app/ruby_engine/cruby_wasi.rb index 5c9e94e..0465f4e 100644 --- a/app/ruby_engine/cruby_wasi.rb +++ b/app/ruby_engine/cruby_wasi.rb @@ -7,8 +7,8 @@ class RubyEngine class CRubyWASI < RubyEngine REQUIRED_SCRIPTS = [ { - # https://www.jsdelivr.com/package/npm/@ruby/wasm-wasi?version=2.7.2&tab=files&path=dist - src: "https://cdn.jsdelivr.net/npm/@ruby/wasm-wasi@2.7.2/dist/index.umd.js", + # https://www.jsdelivr.com/package/npm/@ruby/wasm-wasi?version=2.8.1&tab=files&path=dist + src: "https://cdn.jsdelivr.net/npm/@ruby/wasm-wasi@2.8.1/dist/index.umd.js", integrity: "sha256-sxHtVJLn+brnck+saGLUKbu/JEP7pilIBgChJvVdjko=", crossorigin: "anonymous" }, diff --git a/app/try_ruby.rb b/app/try_ruby.rb index 611f46f..f3b93ca 100644 --- a/app/try_ruby.rb +++ b/app/try_ruby.rb @@ -16,7 +16,7 @@ class TryRuby RUBY INITIAL_TRY_RESULT = 'Welcome ' * 3 - DEFAULT_RUBY_ENGINE = "cruby-3.4.1" + DEFAULT_RUBY_ENGINE = "cruby-4.0.0" GEM_PRELUDE_WARNINGS = [ "`RubyGems' were not loaded.", diff --git a/spec/playground_spec.rb b/spec/playground_spec.rb index 24df050..fd51c65 100644 --- a/spec/playground_spec.rb +++ b/spec/playground_spec.rb @@ -2,7 +2,7 @@ RSpec.describe "Playground", type: :feature, js: true do context "engine" do - engines = ["opal-ww-1.8.2", "cruby-3.2.2", "cruby-3.3.0", "cruby-3.4.1"] + engines = ["opal-ww-1.8.2", "cruby-3.2.4", "cruby-3.3.3", "cruby-3.4.1", "cruby-4.0.0"] engines.each do |engine| context engine do before :each do From 59a83b4fa6b8e4105e178c59ed6780014f2c7fe7 Mon Sep 17 00:00:00 2001 From: eggplants Date: Tue, 30 Dec 2025 23:22:50 +0900 Subject: [PATCH 2/3] Update Docker base image into 3.4 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ba2c85b..8ff9393 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ ## Building image ## -FROM ruby:3.0.3-slim-bullseye AS builder +FROM ruby:3.4.8-slim-trixie AS builder # install build dependencies RUN apt update && apt install make gcc g++ libffi-dev nodejs git -y COPY ./Gemfile /app/Gemfile From 885bd1769e12e0df5adcc8a71e8bd0d7b53de82d Mon Sep 17 00:00:00 2001 From: eggplants Date: Tue, 30 Dec 2025 23:23:27 +0900 Subject: [PATCH 3/3] Remove stale sections from README --- README.md | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/README.md b/README.md index 8f10f6f..8f093d7 100644 --- a/README.md +++ b/README.md @@ -48,32 +48,6 @@ docker compose up Then visit `http://localhost:9099`. -## Preparing - -Clone this repo, and use bundler to get dependencies: - - $ bundle install - -The website is built using middleman. Livereload is enabled. - -Note: to install the 'eventmachine' gem a ruby development environment needs to -be present. You may need to run something like: - - $ sudo apt-get install ruby2.3-dev - -## Run development website - - $ bin/middleman server - -Then visit `http://localhost:4567`. - -## Publishing - - $ bin/rake publish - -Git branch 'gh-pages' now holds the publishable version of TryRuby, accessible -via [try.ruby-lang.org/](https://try.ruby-lang.org/). - ## Translators When adding a new translation: see the README file in /translations.