envygeeks / jekyll-docker

⛴ Docker images, and CI builders for Jekyll.
ISC License
998 stars 282 forks source link

Exit code 15 upon successful bundle install #275

Closed artis3n closed 4 years ago

artis3n commented 4 years ago

I am getting an exit code of 15 when using this container to publish my Jekyll site on GitHub.

Here is what happens when I run the container against my repo:

➜ docker run -v ${PWD}:/srv/jekyll -v ${PWD}/_site:/srv/jekyll/_site jekyll/builder:stable /bin/bash -c "chmod 777 /srv/jekyll && jekyll build --future"
Fetching gem metadata from https://rubygems.org/.........
Using concurrent-ruby 1.1.6
Fetching i18n 0.9.5
Installing i18n 0.9.5
Fetching minitest 5.14.1
Installing minitest 5.14.1
Using thread_safe 0.3.6
Using tzinfo 1.2.7
Using zeitwerk 2.3.0
Using activesupport 6.0.3.1
Fetching public_suffix 3.1.1
Installing public_suffix 3.1.1
Using addressable 2.7.0
Using bundler 2.1.4
Fetching coffee-script-source 1.11.1
Installing coffee-script-source 1.11.1
Using execjs 2.7.0
Using coffee-script 2.4.1
Using colorator 1.1.0
Fetching ruby-enum 0.8.0
Installing ruby-enum 0.8.0
Fetching commonmarker 0.17.13
Installing commonmarker 0.17.13 with native extensions
Fetching dnsruby 1.61.3
Installing dnsruby 1.61.3
Using eventmachine 1.2.7
Using http_parser.rb 0.6.0
Using em-websocket 0.5.1
Using ffi 1.12.2
Using ethon 0.12.0
Fetching multipart-post 2.1.1
Installing multipart-post 2.1.1
Fetching faraday 1.0.1
Installing faraday 1.0.1
Using forwardable-extended 2.6.0
Using gemoji 3.0.1
Fetching sawyer 0.8.2
Installing sawyer 0.8.2
Fetching octokit 4.18.0
Installing octokit 4.18.0
Using typhoeus 1.4.0
Fetching github-pages-health-check 1.16.1
Installing github-pages-health-check 1.16.1
Using rb-fsevent 0.10.4
Using rb-inotify 0.10.1
Fetching sass-listen 4.0.0
Installing sass-listen 4.0.0
Fetching sass 3.7.4
Installing sass 3.7.4
Fetching jekyll-sass-converter 1.5.2
Installing jekyll-sass-converter 1.5.2
Using listen 3.2.1
Using jekyll-watch 2.2.1
Fetching kramdown 1.17.0
Installing kramdown 1.17.0
Using liquid 4.0.3
Using mercenary 0.3.6
Using pathutil 0.16.2
Fetching rouge 3.13.0
Installing rouge 3.13.0
Using safe_yaml 1.0.5
Fetching jekyll 3.8.5
Installing jekyll 3.8.5
Fetching jekyll-avatar 0.7.0
Installing jekyll-avatar 0.7.0
Fetching jekyll-coffeescript 1.1.1
Installing jekyll-coffeescript 1.1.1
Fetching jekyll-commonmark 1.3.1
Installing jekyll-commonmark 1.3.1
Fetching jekyll-commonmark-ghpages 0.1.6
Installing jekyll-commonmark-ghpages 0.1.6
Fetching jekyll-default-layout 0.1.4
Installing jekyll-default-layout 0.1.4
Using jekyll-feed 0.13.0
Fetching jekyll-gist 1.5.0
Installing jekyll-gist 1.5.0
Fetching jekyll-github-metadata 2.13.0
Installing jekyll-github-metadata 2.13.0
Using mini_portile2 2.4.0
Using nokogiri 1.10.9
Using html-pipeline 2.12.3
Fetching jekyll-mentions 1.5.1
Installing jekyll-mentions 1.5.1
Fetching jekyll-optional-front-matter 0.3.2
Installing jekyll-optional-front-matter 0.3.2
Using jekyll-paginate 1.1.0
Fetching jekyll-readme-index 0.3.0
Installing jekyll-readme-index 0.3.0
Fetching jekyll-redirect-from 0.15.0
Installing jekyll-redirect-from 0.15.0
Fetching jekyll-relative-links 0.6.1
Installing jekyll-relative-links 0.6.1
Fetching rubyzip 2.3.0
Installing rubyzip 2.3.0
Fetching jekyll-remote-theme 0.4.1
Installing jekyll-remote-theme 0.4.1
Using jekyll-seo-tag 2.6.1
Using jekyll-sitemap 1.4.0
Fetching jekyll-swiss 1.0.0
Installing jekyll-swiss 1.0.0
Fetching jekyll-theme-architect 0.1.1
Installing jekyll-theme-architect 0.1.1
Fetching jekyll-theme-cayman 0.1.1
Installing jekyll-theme-cayman 0.1.1
Fetching jekyll-theme-dinky 0.1.1
Installing jekyll-theme-dinky 0.1.1
Fetching jekyll-theme-hacker 0.1.1
Installing jekyll-theme-hacker 0.1.1
Fetching jekyll-theme-leap-day 0.1.1
Installing jekyll-theme-leap-day 0.1.1
Fetching jekyll-theme-merlot 0.1.1
Installing jekyll-theme-merlot 0.1.1
Fetching jekyll-theme-midnight 0.1.1
Installing jekyll-theme-midnight 0.1.1
Fetching jekyll-theme-minimal 0.1.1
Installing jekyll-theme-minimal 0.1.1
Fetching jekyll-theme-modernist 0.1.1
Installing jekyll-theme-modernist 0.1.1
Fetching jekyll-theme-primer 0.5.4
Installing jekyll-theme-primer 0.5.4
Fetching jekyll-theme-slate 0.1.1
Installing jekyll-theme-slate 0.1.1
Fetching jekyll-theme-tactile 0.1.1
Installing jekyll-theme-tactile 0.1.1
Fetching jekyll-theme-time-machine 0.1.1
Installing jekyll-theme-time-machine 0.1.1
Fetching jekyll-titles-from-headings 0.5.3
Installing jekyll-titles-from-headings 0.5.3
Fetching jemoji 0.11.1
Installing jemoji 0.11.1
Using minima 2.5.1
Using unicode-display_width 1.7.0
Using terminal-table 1.8.0
Fetching github-pages 204
Installing github-pages 204
Bundle complete! 2 Gemfile dependencies, 85 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

➜ echo $?  
15

I can run bundle install && jekyll serve without issue on my machine, and the local bundle install returns exit code 0. How can I debug why the container is throwing exit code 15?

Seeing this error in these Action runs.

The Gemfile is the following:

source 'https://rubygems.org'
ruby '2.7.1'

gem 'github-pages', '204', group: :jekyll_plugins

gem 'jekyll-paginate'
# enable tzinfo-data for local build
# gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
Nakira commented 4 years ago

Same issue for me: Dockerfile:

FROM jekyll/jekyll:4.0.0

Same error with Dockerfile:

FROM jekyll/jekyll:4.0.1

Gemfile:

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "jekyll"

group :jekyll_plugins do
  gem 'jekyll-sitemap'
  gem 'jekyll-seo-tag'
end

Gemfile.lock :

GEM
  remote: https://rubygems.org/
  specs:
    addressable (2.7.0)
      public_suffix (>= 2.0.2, < 5.0)
    colorator (1.1.0)
    concurrent-ruby (1.1.6)
    em-websocket (0.5.1)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0.6.0)
    eventmachine (1.2.7)
    ffi (1.12.2)
    forwardable-extended (2.6.0)
    http_parser.rb (0.6.0)
    i18n (1.8.2)
      concurrent-ruby (~> 1.0)
    jekyll (4.0.1)
      addressable (~> 2.4)
      colorator (~> 1.0)
      em-websocket (~> 0.5)
      i18n (>= 0.9.5, < 2)
      jekyll-sass-converter (~> 2.0)
      jekyll-watch (~> 2.0)
      kramdown (~> 2.1)
      kramdown-parser-gfm (~> 1.0)
      liquid (~> 4.0)
      mercenary (~> 0.3.3)
      pathutil (~> 0.9)
      rouge (~> 3.0)
      safe_yaml (~> 1.0)
      terminal-table (~> 1.8)
    jekyll-sass-converter (2.1.0)
      sassc (> 2.0.1, < 3.0)
    jekyll-seo-tag (2.6.1)
      jekyll (>= 3.3, < 5.0)
    jekyll-sitemap (1.4.0)
      jekyll (>= 3.7, < 5.0)
    jekyll-watch (2.2.1)
      listen (~> 3.0)
    kramdown (2.2.1)
      rexml
    kramdown-parser-gfm (1.1.0)
      kramdown (~> 2.0)
    liquid (4.0.3)
    listen (3.2.1)
      rb-fsevent (~> 0.10, >= 0.10.3)
      rb-inotify (~> 0.9, >= 0.9.10)
    mercenary (0.3.6)
    pathutil (0.16.2)
      forwardable-extended (~> 2.6)
    public_suffix (4.0.5)
    rb-fsevent (0.10.4)
    rb-inotify (0.10.1)
      ffi (~> 1.0)
    rexml (3.2.4)
    rouge (3.19.0)
    safe_yaml (1.0.5)
    sassc (2.3.0)
      ffi (~> 1.9)
    terminal-table (1.8.0)
      unicode-display_width (~> 1.1, >= 1.1.1)
    unicode-display_width (1.7.0)

PLATFORMS
  ruby

DEPENDENCIES
  jekyll
  jekyll-seo-tag
  jekyll-sitemap

BUNDLED WITH
   2.1.4

When running: jekyll serve --trace

jekyll_1       | JEKYLL_ENV=development jekyll serve --trace
jekyll_1       | Fetching gem metadata from https://rubygems.org/...........
jekyll_1       | Fetching gem metadata from https://rubygems.org/.
jekyll_1       | Resolving dependencies...
jekyll_1       | Using public_suffix 4.0.5
jekyll_1       | Using addressable 2.7.0
jekyll_1       | Using bundler 2.1.4
jekyll_1       | Using colorator 1.1.0
jekyll_1       | Using concurrent-ruby 1.1.6
jekyll_1       | Using eventmachine 1.2.7
jekyll_1       | Using http_parser.rb 0.6.0
jekyll_1       | Using em-websocket 0.5.1
jekyll_1       | Using ffi 1.12.2
jekyll_1       | Using forwardable-extended 2.6.0
jekyll_1       | Using i18n 1.8.2
jekyll_1       | Using sassc 2.3.0
jekyll_1       | Using jekyll-sass-converter 2.1.0
jekyll_1       | Using rb-fsevent 0.10.4
jekyll_1       | Using rb-inotify 0.10.1
jekyll_1       | Using listen 3.2.1
jekyll_1       | Using jekyll-watch 2.2.1
jekyll_1       | Fetching rexml 3.2.4
jekyll_1       | Installing rexml 3.2.4
jekyll_1       | Using kramdown 2.2.1
jekyll_1       | Using kramdown-parser-gfm 1.1.0
jekyll_1       | Using liquid 4.0.3
jekyll_1       | Using mercenary 0.3.6
jekyll_1       | Using pathutil 0.16.2
jekyll_1       | Using rouge 3.19.0
jekyll_1       | Using safe_yaml 1.0.5
jekyll_1       | Using unicode-display_width 1.7.0
jekyll_1       | Using terminal-table 1.8.0
jekyll_1       | Fetching jekyll 4.0.1
jekyll_1       | Installing jekyll 4.0.1
jekyll_1       | Fetching jekyll-seo-tag 2.6.1
jekyll_1       | Installing jekyll-seo-tag 2.6.1
jekyll_1       | Fetching jekyll-sitemap 1.4.0
jekyll_1       | Installing jekyll-sitemap 1.4.0
jekyll_1       | Bundle complete! 3 Gemfile dependencies, 30 gems now installed.
jekyll_1       | Use `bundle info [gemname]` to see where a bundled gem is installed.
jekyll_1       | make: *** [Makefile:20: serve] Error 15
docker_jekyll_1 exited with code 2

When running bundle info jekyll, I have this error :

Could not find rexml-3.2.4 in any of the sources
jaredsinclair commented 4 years ago

@envygeeks Has this fix been deployed to the official Docker image yet? I'm still seeing this issue in production using a GitHub action.

Leo3418 commented 4 years ago

@envygeeks Has this fix been deployed to the official Docker image yet? I'm still seeing this issue in production using a GitHub action.

If you're using the container image cached by GitHub Action (i.e. you docker run directly, without docker pull), then I guess this fix hasn't applied to that image yet. You can check which version of the image is cached by GitHub at here