jekyll / jekyll-feed

:memo: A Jekyll plugin to generate an Atom (RSS-like) feed of your Jekyll posts
MIT License
826 stars 201 forks source link

Upgrade to Rake 13 to fix master #381

Closed jez closed 1 year ago

jez commented 1 year ago

I had a CI run fail for #379 which looks like a failure in the "setup ruby" step.

I'm not sure how the changes I made in #379 could have caused that problem—it fails even before attempting to run the tests, and I haven't touched anything related to dependencies.

I'm trying to figure out whether my intuition is incorrect, or whether CI is actually failing on master. I notice that the last master change was from a couple months ago, so I'm worried that some dependency has broken in the mean time.

ashmaroli commented 1 year ago

If you look at the log report, you'll see that the error is from gem sass-embedded which is a recent entry into our bundle via jekyll-sass-converter-3.0. So, the master is most likely affected as well. However, what puzzles me is that the error doesn't occur at repo jekyll/jekyll for same Ruby version. Maybe I am overlooking something obvious...

jez commented 1 year ago

One thing I noticed when I was working locally (that I managed to deal with separately) was this message:

❯ bundle update
Fetching https://github.com/jez/jekyll-feed.git
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
sass-embedded-1.57.1-x86_64-linux-gnu requires rubygems version >= 3.3.22, which is incompatible with the current version, 3.1.6

I wonder if the bug is that sass-embedded made a change that tied them to a specific bundler version, and only later realized that they should declare that dependency in a version bound?

I wonder if it's possible to fix CI by pinning the sass-embedded version in CI somehow? I still haven't managed to exactly reproduce the failure as seen by CI in my local environment.

(Thanks for taking a moment to look at this.)

ashmaroli commented 1 year ago

That's a different issue @jez. Its asking for a newer version of Rubygems, not Bundler. You can update the version on your local system by running:

gem update --system

Could you add a commit bumping gem "rake" to use "~> 13.0" on this branch? Please ping me after you push so that I can activate the CI run.

parkr commented 1 year ago

Interesting. Is Rake 12 incompatible with certain features of Ruby 3? I'm surprised we didn't catch this before.

jez commented 1 year ago

@ashmaroli lmk if the latest commit is what you're looking for

ashmaroli commented 1 year ago

@parkr I'm not sure if Rake 12.x is incompatible with Ruby 3, but gem sass-embedded seems to be using a syntax that is not compatible with Rake 12. We didn't catch this before because Jekyll Core had moved onto Rake 13 long ago and that sass-embedded only became a default member of our bundle / gemset recently.

ashmaroli commented 1 year ago

@jez CI is passing. So your mission has been successful. 🙂

parkr commented 1 year ago

@jekyllbot: merge +dev

ashmaroli commented 1 year ago

@parkr Do we really need Rake for this repository?