Skip to content

CI: Enable jruby-head, don't allow jruby releases to fail#145

Merged
dentarg merged 1 commit into
sinatra:mainfrom
headius:jruby_ci
Aug 13, 2025
Merged

CI: Enable jruby-head, don't allow jruby releases to fail#145
dentarg merged 1 commit into
sinatra:mainfrom
headius:jruby_ci

Conversation

@headius

@headius headius commented Jul 21, 2025

Copy link
Copy Markdown
Contributor

In jruby/jruby#8922 a bug was reported in JRuby 10.0.1.0 that might have been caught before release had mustermann's CI been running jruby-head builds without enabling allow-failure. This PR will modify mustermann CI to run both jruby and jruby-head, the latter against sinatra head, without allowing failures to be silently ignored (because we'll fix them).

@headius headius mentioned this pull request Jul 21, 2025
@headius

headius commented Jul 21, 2025

Copy link
Copy Markdown
Contributor Author

This will fail on the "jruby" matrix due to 10.0.1.0 having the bug reported in jruby/jruby#8920, but ideally should only show the two issues I mentioned in #72 (comment) when running against "jruby-head".

I would appreciate some pointers to help me figure out why those failures happen.

@headius

headius commented Jul 21, 2025

Copy link
Copy Markdown
Contributor Author

jruby-head has been updated to include the fix for jruby/jruby#8920. I'd like to see if those same two failures occur in CI... can someone approve the workflow?

@dentarg

dentarg commented Jul 21, 2025

Copy link
Copy Markdown
Member

I just approved CI to run

(FYI I'm on vacation and can't be of much help for a few weeks)

@headius

headius commented Jul 28, 2025

Copy link
Copy Markdown
Contributor Author

Good news! The jruby-head build runs as it does for me locally, with only two failure I will look into. All fixes on head should be in a JRuby release within the next couple of weeks.

I will update again once I have fixed the remaining two failures.

@headius

headius commented Jul 28, 2025

Copy link
Copy Markdown
Contributor Author

Actually I'm a bit confused. The failing code appears to be attempting to load mustermann/ast but I do not see any such file in the codebase. Where is this file supposed to come from? Did I miss a step setting up my local test environment?

@headius

headius commented Jul 28, 2025

Copy link
Copy Markdown
Contributor Author

Oh I get it... it's supposed to fail, but for some reason the failure is not bubbling out to the spec properly.

headius added a commit to headius/jruby that referenced this pull request Jul 28, 2025
This was changed in CRuby in 2010.

See ruby/ruby@208a51f

This fixes the remaining two failures running mustermann specs.

See sinatra/mustermann#145
@headius

headius commented Jul 28, 2025

Copy link
Copy Markdown
Contributor Author

Aha! It is a difference of error message due to a change we apparently missed way back in 2010.

ruby/ruby@208a51f

I've pushed a PR for JRuby to fix this. With the patch in place, mustermann's specs are green!

jruby/jruby#8929

@headius

headius commented Aug 3, 2025

Copy link
Copy Markdown
Contributor Author

I have merged the last pull request to JRuby and initiated a head build here:

https://github.com/ruby/jruby-dev-builder/actions/runs/16703423124

This should be ready shortly, and then the JRuby head build here should be green. We could remove the jruby release job for now if you prefer, but we should be releasing JRuby 10.0.2.0 this week.

@dentarg

dentarg commented Aug 3, 2025

Copy link
Copy Markdown
Member

I'll merge this when JRuby 10.0.2.0 is out!

@headius

headius commented Aug 3, 2025

Copy link
Copy Markdown
Contributor Author

@dentarg Could you rerun the latest build so I can confirm head is green please? Thank you!

@dentarg

dentarg commented Aug 3, 2025

Copy link
Copy Markdown
Member

@headius can you rebase and push? that should trigger builds again I think

Despite Maintainers are allowed to edit this pull request I got error: failed to push some refs to 'github.com:headius/mustermann.git' (cli/cli#8794 did not help me) when I tried to push the rebase

@headius

headius commented Aug 3, 2025

Copy link
Copy Markdown
Contributor Author

Can do!

@dentarg

dentarg commented Aug 3, 2025

Copy link
Copy Markdown
Member

Only JRuby release build that's failing, as expected!

@dentarg

dentarg commented Aug 8, 2025

Copy link
Copy Markdown
Member

@headius

headius commented Aug 8, 2025

Copy link
Copy Markdown
Contributor Author

It's a long tail but we are almost there!

@headius

headius commented Aug 11, 2025

Copy link
Copy Markdown
Contributor Author

It appears JRuby 10.0.2.0 has propagated through ruby-build and ruby-builder! I'll rebase one more time to ensure it's working properly.

In order to help ensure JRuby does not break mustermann again,
remove the allow-failure flag and add jruby-head with sinatra head
for more coverage.

The issue reported in jruby/jruby#8920 wouldn't have been released
if it had been caught by jruby-head testing in mustermann, and
having allow-failure means bugs introduced by JRuby may never be
caught by mustermann CI.

I will push additional fixes to get the remaining failure green.
@dentarg dentarg changed the title Enable jruby-head in CI and fix remaining failures CI: Enable jruby-head, don't allow jruby releases to fail Aug 13, 2025
@dentarg
dentarg merged commit b34e6e2 into sinatra:main Aug 13, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants