diff --git a/.github/workflows/c-check.yml b/.github/workflows/c-check.yml index 6aca37ddcd..43745ea35e 100644 --- a/.github/workflows/c-check.yml +++ b/.github/workflows/c-check.yml @@ -27,8 +27,13 @@ jobs: sudo apt-get install -y libdb-dev curl autoconf automake m4 libtool - name: Install clang-format from LLVM run: | - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - sudo apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main" + # The codename must match the `runs-on` image: `ubuntu-latest` is 24.04 (noble). + wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key \ + | sudo gpg --dearmor -o /usr/share/keyrings/llvm-archive-keyring.gpg + # Written directly rather than through `apt-add-repository`, which cannot + # parse `[signed-by=...]` inside a one-line `deb` shortcut. + echo "deb [signed-by=/usr/share/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble-20 main" \ + | sudo tee /etc/apt/sources.list.d/llvm.list sudo apt-get update sudo apt-get install -y clang-format-20 sudo ln -sf /usr/bin/clang-format-20 /usr/local/bin/clang-format @@ -38,9 +43,9 @@ jobs: - name: Install Re2c run: | cd /tmp - curl -L https://github.com/skvadrik/re2c/archive/refs/tags/4.3.tar.gz > re2c-4.3.tar.gz - tar xf re2c-4.3.tar.gz - cd re2c-4.3 + curl -L https://github.com/skvadrik/re2c/archive/refs/tags/4.5.1.tar.gz > re2c-4.5.1.tar.gz + tar xf re2c-4.5.1.tar.gz + cd re2c-4.5.1 cmake --preset=linux-gcc-release-ootree-skeleton-fast cmake --build --preset=linux-gcc-release-ootree-skeleton-fast --parallel="$(nproc)" sudo ln -sf "$(pwd)"/.build/linux-gcc-release-ootree-skeleton-fast/re2c /usr/local/bin/re2c diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index dd4b86da05..958bdcb3f7 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['3.2', '3.3', '3.4', '4.0', head] + ruby: ['3.3', '3.4', '4.0', head] rubyopt: [""] job: - test diff --git a/.github/workflows/typecheck.yml b/.github/workflows/typecheck.yml index 299928bd90..f2327abb1d 100644 --- a/.github/workflows/typecheck.yml +++ b/.github/workflows/typecheck.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@v7 - uses: ruby/setup-ruby@v1 with: - ruby-version: "3.4" + ruby-version: "4.0" bundler: none - name: Set working directory as safe run: git config --global --add safe.directory $(pwd) diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 845e3b052f..0f3a6c072b 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -21,7 +21,7 @@ env: # Pinned so the smoke test is reproducible. Bump together when upgrading. WASI_SDK_VERSION: "33" WASI_SDK_RELEASE: "33.0" - WASMTIME_VERSION: "v45.0.2" + WASMTIME_VERSION: "v47.0.2" jobs: build: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index faf63ffde1..dc4dfa05d4 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['3.4', ucrt, mswin] + ruby: ['4.0', ucrt, mswin] steps: - uses: actions/checkout@v7 - name: load ruby diff --git a/Dockerfile.jruby b/Dockerfile.jruby index 8d23516bdd..106fccd5dd 100644 --- a/Dockerfile.jruby +++ b/Dockerfile.jruby @@ -15,7 +15,7 @@ # C extensions (bigdecimal, stackprof, ...) that cannot build on JRuby. The few # gems the suite needs are installed directly, exactly as the CI does. -FROM jruby:10.0.6-jdk21 +FROM jruby:10.1.1.0-jdk21 # Keep in sync with .github/workflows/wasm.yml and .github/workflows/jruby.yml. ARG WASI_SDK_VERSION=33 diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 64a196bf8d..250b50c2a3 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -13,7 +13,7 @@ The RBS repository contains the type definitions of Core API and Standard Librar There are some discussions whether if it is the best to have them in this repository, but we have them and continue updating the files meanwhile. The target version of the bundled type definitions is the [latest _release_ of Ruby](https://www.ruby-lang.org/en/downloads/branches/) -- `4.0` as of 2026. -Note, however, that the CI currently retains the tests on Ruby 3.2 as well. +Note, however, that the CI runs the tests on every non-EOL Ruby -- `3.3` and later as of 2026. **The core API** type definitions are in `core` directory. You will find the familiar class names in the directory, like `string.rbs` or `array.rbs`. diff --git a/src/lexer.c b/src/lexer.c index b590142288..ebbaa650d8 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 4.3 */ +/* Generated by re2c 4.5.1 */ #line 1 "src/lexer.re" #include "rbs/lexer.h"