New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove restore cache keys fallbacks and solve CI segfault problem #6557
Conversation
One test still failing due a segfault 馃槩, the other seems to be a flaky. Usually segfaults come from a C extension gems. According to heroku this command should return all the C extensions used in the gemfile (assuming you have your gems in a subfolder of the current directory): bundle show --paths | ruby -e "STDIN.each_line {|dep| puts dep.split('/').last if File.directory?(File.join(dep.chomp, 'ext')) }" which gives the list:
PR from Sep 10: From these, only the next were upgraded in #6513
In #6509 only this was upgraded:
|
Looking at several logs with segfaults,
and:
Where present in all the traces.
|
I haven't found information about It seems that version 2.5.3 is giving intermittent segfaults as pointed here socketry/nio4r#251 (comment) |
Bingo! |
Excellent job @microstudi! Super nice debugging! 馃憦 馃憦 Thanks for putting the explanations and the train of your thoughts, I found it super easy to understand what's going on! Should we add the cache keys again changing their names so we don't get old cache versions? Maybe we could prepend the Ruby version: key: ${{ runner.OS }}-ruby266deps-${{ hashFiles('Gemfile.lock') }}
restore-keys: |
${{ runner.OS }}-ruby266deps-${{ env.cache-name }}-
${{ runner.OS }}-ruby266deps-
${{ runner.OS }}- |
@mrcasals do we need to specify fallback keys? I mean, the one created is going to be used anyway. In fact, for what I've read here: https://github.com/ruby/setup-ruby#caching-bundle-install-automatically it seems that we could get rid of all cache statement as is included in an option of the We could configure - uses: ruby/setup-ruby@v1
with:
bundler-cache: true |
Oh, I didn't know about that option! Then yeeah, I think it's worth using it. We should update the action version too to make sure the option is available! 馃槃 |
All right, I'll make another commit see if the builtin cache works, this way we pass the test suite again, let's make sure there's no segfaults. |
Excel路lent analysis @microstudi 馃憦 馃憦 |
Let's see if with the next commit the corresponding buid succeeds at first attempt 馃 |
@mrcasals It seems that the built in bundler works smoothly. Here is the first run: I'll change all the workflows then. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow!! Excellent catch here and great job @microstudi 馃槃
Thanks for all doc & explanation links too! It was easier to follow your thoughts
It seems all test have been passed, so looks good for me 馃憤
Thanks a lot!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great!
馃帺 What? Why?
This is (yet) another attempt to discard a possible issue due cached gems.
It seems that is possible that we are retrieving backups from an older version of ruby as we use many fallbacks for the
action/cache
in Github workflows. This PR is to see if this may be the cause.馃搶 Related Issues
馃搵 Subtasks
CHANGELOG
upgrade notes, if required馃摲 Screenshots (optional)