• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ruby-grape / grape / 29093951006
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: fix/recompile-settings-mutation-race
DEFAULT BRANCH: master
Ran 10 Jul 2026 12:52PM UTC
Jobs 32
Files 167
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Jul 2026 12:51PM UTC coverage: 96.656% (-0.005%) from 96.661%
29093951006

Pull #2791

github

ericproulx
Build helper routes from a settings copy, not shared mutation

add_head_not_allowed_methods_and_options_methods used
without_root_prefix_and_versioning to delete the root-prefix/versioning
keys from the shared class-level namespace_inheritable and restore them in
an ensure. Compilation runs when a fresh API instance is built, which can
happen at runtime (mount, helpers, or route definitions call change!) while
another instance is still serving. A request handled during that window
could observe the temporarily-missing keys — e.g. Instance#cascade? reads
namespace_inheritable[:version_options] and would fall back to true.

Read the settings the helper routes need from a local copy
(namespace_inheritable.to_hash minus the versioning keys) and pass it into
collect_route_config_per_pattern instead. Nothing in that path reads the
stripped keys, so behavior is unchanged, and the shared settings object is
no longer mutated during compilation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Pull Request #2791: Build helper routes from a settings copy, not shared mutation

1127 of 1222 branches covered (92.23%)

Branch coverage included in aggregate %.

3 of 3 new or added lines in 1 file covered. (100.0%)

3585 of 3653 relevant lines covered (98.14%)

23174.72 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-4.0-gemfiles/rack_2_2.gemfile - 29093951006.1 10 Jul 2026 12:52PM UTC 166
95.15
GitHub Action Run
2 run-4.0-gemfiles/dry_validation.gemfile - 29093951006.2 10 Jul 2026 12:52PM UTC 166
58.18
GitHub Action Run
3 run-3.4-gemfiles/rails_8_1.gemfile - 29093951006.3 10 Jul 2026 12:52PM UTC 167
95.2
GitHub Action Run
4 run-3.3-gemfiles/rack_3_2.gemfile - 29093951006.4 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
5 run-3.3-gemfiles/rails_8_0.gemfile - 29093951006.5 10 Jul 2026 12:52PM UTC 167
95.2
GitHub Action Run
6 run-4.0-Gemfile - 29093951006.6 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
7 run-3.3-gemfiles/rails_7_2.gemfile - 29093951006.7 10 Jul 2026 12:52PM UTC 167
95.2
GitHub Action Run
8 run-4.0-gemfiles/grape_entity.gemfile - 29093951006.8 10 Jul 2026 12:52PM UTC 166
50.34
GitHub Action Run
9 run-3.3-gemfiles/rack_3_1.gemfile - 29093951006.9 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
10 run-3.4-Gemfile - 29093951006.10 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
11 run-4.0-gemfiles/rack_3_2.gemfile - 29093951006.11 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
12 run-3.4-gemfiles/rack_3_1.gemfile - 29093951006.12 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
13 run-3.4-gemfiles/rack_3_0.gemfile - 29093951006.13 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
14 run-4.0-gemfiles/rails_8_0.gemfile - 29093951006.14 10 Jul 2026 12:52PM UTC 167
95.2
GitHub Action Run
15 run-4.0-gemfiles/grape_swagger.gemfile - 29093951006.15 10 Jul 2026 12:52PM UTC 166
55.21
GitHub Action Run
16 run-3.4-gemfiles/rails_8_0.gemfile - 29093951006.16 10 Jul 2026 12:52PM UTC 167
95.2
GitHub Action Run
17 run-3.3-Gemfile - 29093951006.17 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
18 run-4.0-gemfiles/multi_json.gemfile - 29093951006.18 10 Jul 2026 12:52PM UTC 166
47.53
GitHub Action Run
19 run-3.4-gemfiles/rails_7_2.gemfile - 29093951006.19 10 Jul 2026 12:52PM UTC 167
95.2
GitHub Action Run
20 run-4.0-gemfiles/hashie.gemfile - 29093951006.20 10 Jul 2026 12:53PM UTC 166
62.35
GitHub Action Run
21 run-4.0-gemfiles/multi_xml_0_8.gemfile - 29093951006.21 10 Jul 2026 12:53PM UTC 166
47.03
GitHub Action Run
22 run-3.4-gemfiles/rack_3_2.gemfile - 29093951006.22 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
23 run-4.0-gemfiles/rack_3_0.gemfile - 29093951006.23 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
24 run-3.4-gemfiles/rack_2_2.gemfile - 29093951006.24 10 Jul 2026 12:52PM UTC 166
95.15
GitHub Action Run
25 run-4.0-gemfiles/multi_xml.gemfile - 29093951006.25 10 Jul 2026 12:52PM UTC 166
46.99
GitHub Action Run
26 run-4.0-gemfiles/rails_8_1.gemfile - 29093951006.26 10 Jul 2026 12:52PM UTC 167
95.2
GitHub Action Run
27 run-3.3-gemfiles/rack_3_0.gemfile - 29093951006.27 10 Jul 2026 12:53PM UTC 166
95.19
GitHub Action Run
28 run-4.0-gemfiles/rails_7_2.gemfile - 29093951006.28 10 Jul 2026 12:53PM UTC 167
95.2
GitHub Action Run
29 run-4.0-gemfiles/rack_3_1.gemfile - 29093951006.29 10 Jul 2026 12:52PM UTC 166
95.19
GitHub Action Run
30 run-3.3-gemfiles/rails_8_1.gemfile - 29093951006.30 10 Jul 2026 12:52PM UTC 167
95.2
GitHub Action Run
31 run-3.3-gemfiles/rack_2_2.gemfile - 29093951006.31 10 Jul 2026 12:53PM UTC 166
95.15
GitHub Action Run
32 run-4.0-gemfiles/multi_json_1_20.gemfile - 29093951006.32 10 Jul 2026 12:52PM UTC 166
47.57
GitHub Action Run
Source Files on build 29093951006
  • Tree
  • List 167
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29093951006
  • Pull Request #2791
  • PR Base - master (#28782563800)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc