Repository navigation
Stop excluding benchmarks from the Windows CI job - #568
Merged
k0kubun merged 3 commits intoNov 5, 2026
Merged
Conversation
lobsters, railsbench, shipit and activerecord move from Rails 8.1.1 (shipit 8.1.2) to 8.1.4.1. Action View 8.1.4.1 requires rails-html-sanitizer 1.7.2, which needs loofah 2.25.3, which needs nokogiri 1.19.5 or later, so those move too.
nokogiri 1.19.7 installs on Windows, so erubi-rails gets the same bump that lobsters and railsbench already have. lobsters skips stackprof on Windows, as railsbench does; it is only in the development group.
graphql-c_parser 1.2.0 compiles on Windows, so graphql-native moves to it and the Windows job no longer excludes any benchmark.
This was referenced Nov 5, 2026
k0kubun
approved these changes
Nov 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This builds on #567 and includes its commit until #567 merges; I'll rebase then.
This runs erubi-rails, graphql-native, lobsters and railsbench in the
benchmark-default-windowsjob, so it no longer excludes any benchmark.They were excluded because nokogiri 1.18.9 builds from source on Windows and its bundled libiconv fails to compile. #567 moved lobsters and railsbench to nokogiri 1.19.7, which installs on Windows with Ruby 4.0 (the precompiled x64-mingw-ucrt gem) and with head (built from source). erubi-rails gets the same bump here.
lobsters was also excluded because stackprof fails to build. stackprof 0.2.28, the latest release, uses POSIX signals and timers that MinGW doesn't have. lobsters lists it only in its development group, which the benchmark doesn't load, so it now gets
platforms: :mri, as in railsbench's Gemfile. Gemfile.lock doesn't change.graphql-native moves from graphql-c_parser 1.1.3 to 1.2.0 (released 2026-11-05), which includes rmosolgo/graphql-ruby#5877: it renames the C token names that clashed with Windows headers. graphql stays at 2.5.11.
This also changes graphql-native on Linux. It returns the same tokens and AST for
negotiate.gql, but runs about 2% more instructions per iteration (Cachegrind, Ruby 4.0.9 interpreter, fixed heap, two runs each; two runs of 1.1.3 differ by 0.3%). The extra instructions are in the C lexer and parser that 1.1.4 and 1.2.0 regenerated for their number, BOM and parser-stack changes, not in #5877's renames.In this run on my fork, both
benchmark-default-windowsjobs pass and run all four benchmarks: https://github.com/thomasklemm/ruby-bench/actions/runs/42063514767