just-the-docs / just-the-docs-template

one-click template to use just-the-docs on GitHub Pages
https://just-the-docs.github.io/just-the-docs-template/
MIT License
128 stars 109 forks source link

fix: :arrow_up: Update to jekyll 4.3.2 and jtd 0.5.1 #22

Closed max06 closed 1 year ago

max06 commented 1 year ago

The template turned out to be not builable with the versions set in the lockfile.


I noticed jekyll is not strictly pinned. Not sure what way to go, updating the version contraint or the lockfile...

max06 commented 1 year ago

Lacking access ... @mattxwang, please take over ;)

mattxwang commented 1 year ago

Also, have fixed access perms; you should have full admin access now! Thanks for pinging on that!

mattxwang commented 1 year ago

I also just merged an update replicating the Netlify build on CI, which should give you more insight on what's happening. CI does pass, so it does seem like the lockfile works?

max06 commented 1 year ago

Oh, didn't look at netlify yet. I updated the gems because the page wasn't buildable in jekyll. This one works in my devcontainer (coming soon) now.

max06 commented 1 year ago

Not sure what's going on here... in my container:

$ bundle install
Using rake 13.0.6
Using public_suffix 5.0.1
Using addressable 2.8.4
Using bundler 2.3.9
Using colorator 1.1.0
Using concurrent-ruby 1.2.2
Using eventmachine 1.2.7
Using http_parser.rb 0.8.0
Using em-websocket 0.5.3
Using ffi 1.15.5
Using forwardable-extended 2.6.0
Using google-protobuf 3.23.2 (x86_64-linux)
Using i18n 1.14.0
Using sass-embedded 1.62.1 (x86_64-linux-gnu)
Using jekyll-sass-converter 3.0.0
Using rb-fsevent 0.11.2
Using rb-inotify 0.10.1
Using listen 3.8.0
Using jekyll-watch 2.2.1
Using rexml 3.2.5
Using kramdown 2.4.0
Using kramdown-parser-gfm 1.1.0
Using liquid 4.0.4
Using mercenary 0.4.0
Using pathutil 0.16.2
Using rouge 4.1.2
Using safe_yaml 1.0.5
Using unicode-display_width 2.4.2
Using terminal-table 3.0.2
Using webrick 1.8.1
Using jekyll 4.3.2
Using jekyll-seo-tag 2.8.0
Using just-the-docs 0.5.1
Bundle complete! 2 Gemfile dependencies, 33 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

It's also available here

max06 commented 1 year ago

Looks like netlify uses Ruby 2.7, which seems to be incompatible with the sass-plugin.

mattxwang commented 1 year ago

Looks like netlify uses Ruby 2.7, which seems to be incompatible with the sass-plugin.

Hm, I might be wrong, but I explicitly loaded Ruby 3.1.2 into the Netlify builder; for example, in the latest deploy log:

11:27:47 AM: build-image version: ffab3dbd3296c17f3cd4edff692372d98e6d8a8f (focal) 11:27:47 AM: buildbot version: f6128af83ac177740bc729eee55d8c066e4a11a4 11:27:47 AM: Fetching cached dependencies 11:27:47 AM: Starting to download cache of 143.5MB 11:27:49 AM: Finished downloading cache in 2.212s 11:27:49 AM: Starting to extract cache 11:27:50 AM: Finished extracting cache in 831ms 11:27:50 AM: Finished fetching cache in 3.092s 11:27:50 AM: Starting to prepare the repo for build 11:27:50 AM: Preparing Git Reference pull/22/head 11:27:52 AM: Starting to install dependencies 11:27:52 AM: Python version set to 3.8 11:27:52 AM: Attempting Ruby version 3.1.2, read from environment 11:27:52 AM: Started restoring cached Ruby version 11:27:52 AM: Finished restoring cached Ruby version 11:27:53 AM: Using Ruby version 3.1.2 11:27:53 AM: Using Bundler version 2.3.9 from Gemfile.lock 11:27:53 AM: Started restoring cached ruby gems 11:27:53 AM: Finished restoring cached ruby gems 11:27:53 AM: Installing gem bundle 11:27:53 AM: [DEPRECATED] The --path flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use bundle config set --local path '/opt/build/cache/bundle', and stop using this flag 11:27:53 AM: [DEPRECATED] The --binstubs option will be removed in favor of bundle binstubs --all 11:27:54 AM: Fetching gem metadata from https://rubygems.org/........... 11:27:54 AM: Your bundle is locked to sass-embedded (1.62.1-x86_64-linux) from rubygems 11:27:54 AM: repository https://rubygems.org/ or installed locally, but that version can no 11:27:54 AM: longer be found in that source. That means the author of sass-embedded 11:27:54 AM: (1.62.1-x86_64-linux) has removed it. You'll need to update your bundle to a version other than sass-embedded (1.62.1-x86_64-linux) that hasn't been removed in order to install. 11:27:54 AM: Error during gem install 11:27:55 AM: Failed during stage 'Install dependencies': dependency_installation script returned non-zero exit code: 1 11:27:54 AM: Build was terminated: dependency_installation script returned non-zero exit code: 1 11:27:54 AM: Failing build: Failed to install dependencies

Taking a look at the versions of sass-embedded, there doesn't seem to be a version directly for x86_64-linux. Perhaps either unplatforming it and/or picking the right platform should resolve the build error?

max06 commented 1 year ago

I generated a new lockfile for testing ... and it broke even more. 😂

Edit: The new lockfile still works in the github pipeline. I confirmed it's used. It has no issues finding that gem:

...
Using sass-embedded 1.62.1 (x86_64-linux-gnu)
...

I'd suspect the netlify cache being mean.