This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch site
in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/site by this push:
new 5c2d95c01d [CALCITE-6794] Site Gemfile contains vulnerable ruby
libraries
5c2d95c01d is described below
commit 5c2d95c01db469e45d6950858c304751d5f2bb41
Author: Hugh Pearse <[email protected]>
AuthorDate: Thu Jan 23 10:13:27 2025 -0600
[CALCITE-6794] Site Gemfile contains vulnerable ruby libraries
---
site/Gemfile | 7 ++-
site/Gemfile.lock | 134 ++++++++++++++++++++++++++++++++++++------------
site/README.md | 2 +-
site/_sass/_style.scss | 76 ++++++++++++++-------------
site/css/screen.scss | 13 ++---
site/docker-compose.yml | 17 +++---
6 files changed, 162 insertions(+), 87 deletions(-)
diff --git a/site/Gemfile b/site/Gemfile
index de8818349b..289e531a49 100644
--- a/site/Gemfile
+++ b/site/Gemfile
@@ -15,8 +15,11 @@
#
source 'https://rubygems.org'
gem 'jekyll', '~>4'
-gem "webrick", "~> 1.7"
-gem "nokogiri", "~> 1.14"
+gem "webrick", "~> 1.9.1"
+gem "nokogiri", "~> 1.18.2"
+gem "csv", "~> 3.3.2"
+gem "base64", "~> 0.2.0"
+
group :jekyll_plugins do
gem 'jekyll-redirect-from'
diff --git a/site/Gemfile.lock b/site/Gemfile.lock
index ba69c6ecaf..7211c6b6ca 100644
--- a/site/Gemfile.lock
+++ b/site/Gemfile.lock
@@ -1,77 +1,143 @@
GEM
remote: https://rubygems.org/
specs:
- addressable (2.8.0)
- public_suffix (>= 2.0.2, < 5.0)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ base64 (0.2.0)
+ bigdecimal (3.1.9)
colorator (1.1.0)
- concurrent-ruby (1.1.10)
+ concurrent-ruby (1.3.5)
+ csv (3.3.2)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
- ffi (1.15.5)
+ ffi (1.17.1-aarch64-linux-gnu)
+ ffi (1.17.1-aarch64-linux-musl)
+ ffi (1.17.1-arm-linux-gnu)
+ ffi (1.17.1-arm-linux-musl)
+ ffi (1.17.1-arm64-darwin)
+ ffi (1.17.1-x86_64-darwin)
+ ffi (1.17.1-x86_64-linux-gnu)
+ ffi (1.17.1-x86_64-linux-musl)
forwardable-extended (2.6.0)
+ google-protobuf (4.29.3)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.3-aarch64-linux)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.3-arm64-darwin)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.3-x86_64-darwin)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.29.3-x86_64-linux)
+ bigdecimal
+ rake (>= 13)
http_parser.rb (0.8.0)
- i18n (1.10.0)
+ i18n (1.14.7)
concurrent-ruby (~> 1.0)
- jekyll (4.2.2)
+ jekyll (4.3.4)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
- jekyll-sass-converter (~> 2.0)
+ jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
- kramdown (~> 2.3)
+ kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
- mercenary (~> 0.4.0)
+ mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9)
- rouge (~> 3.0)
+ rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
- terminal-table (~> 2.0)
+ terminal-table (>= 1.8, < 4.0)
+ webrick (~> 1.7)
jekyll-redirect-from (0.16.0)
jekyll (>= 3.3, < 5.0)
- jekyll-sass-converter (2.2.0)
- sassc (> 2.0.1, < 3.0)
+ jekyll-sass-converter (3.0.0)
+ sass-embedded (~> 1.54)
jekyll-watch (2.2.1)
listen (~> 3.0)
- kramdown (2.3.2)
- rexml
+ kramdown (2.5.1)
+ rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
- liquid (4.0.3)
- listen (3.7.1)
+ liquid (4.0.4)
+ listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
- nokogiri (1.14.3-x86_64-linux)
+ nokogiri (1.18.2-aarch64-linux-gnu)
+ racc (~> 1.4)
+ nokogiri (1.18.2-aarch64-linux-musl)
+ racc (~> 1.4)
+ nokogiri (1.18.2-arm-linux-gnu)
+ racc (~> 1.4)
+ nokogiri (1.18.2-arm-linux-musl)
+ racc (~> 1.4)
+ nokogiri (1.18.2-arm64-darwin)
+ racc (~> 1.4)
+ nokogiri (1.18.2-x86_64-darwin)
+ racc (~> 1.4)
+ nokogiri (1.18.2-x86_64-linux-gnu)
+ racc (~> 1.4)
+ nokogiri (1.18.2-x86_64-linux-musl)
racc (~> 1.4)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
- public_suffix (4.0.7)
- racc (1.6.2)
- rb-fsevent (0.11.1)
- rb-inotify (0.10.1)
+ public_suffix (6.0.1)
+ racc (1.8.1)
+ rake (13.2.1)
+ rb-fsevent (0.11.2)
+ rb-inotify (0.11.1)
ffi (~> 1.0)
- rexml (3.2.5)
- rouge (3.28.0)
+ rexml (3.4.0)
+ rouge (4.5.1)
safe_yaml (1.0.5)
- sassc (2.4.0)
- ffi (~> 1.9)
- terminal-table (2.0.0)
- unicode-display_width (~> 1.1, >= 1.1.1)
- unicode-display_width (1.8.0)
- webrick (1.7.0)
+ sass-embedded (1.83.4-aarch64-linux-gnu)
+ google-protobuf (~> 4.29)
+ sass-embedded (1.83.4-aarch64-linux-musl)
+ google-protobuf (~> 4.29)
+ sass-embedded (1.83.4-arm-linux-gnueabihf)
+ google-protobuf (~> 4.29)
+ sass-embedded (1.83.4-arm-linux-musleabihf)
+ google-protobuf (~> 4.29)
+ sass-embedded (1.83.4-arm64-darwin)
+ google-protobuf (~> 4.29)
+ sass-embedded (1.83.4-x86_64-darwin)
+ google-protobuf (~> 4.29)
+ sass-embedded (1.83.4-x86_64-linux-gnu)
+ google-protobuf (~> 4.29)
+ sass-embedded (1.83.4-x86_64-linux-musl)
+ google-protobuf (~> 4.29)
+ terminal-table (3.0.2)
+ unicode-display_width (>= 1.1.1, < 3)
+ unicode-display_width (2.6.0)
+ webrick (1.9.1)
PLATFORMS
- x86_64-linux
+ aarch64-linux
+ aarch64-linux-gnu
+ aarch64-linux-musl
+ arm-linux-gnu
+ arm-linux-gnueabihf
+ arm-linux-musl
+ arm-linux-musleabihf
+ arm64-darwin
+ x86_64-darwin
+ x86_64-linux-gnu
x86_64-linux-musl
DEPENDENCIES
+ base64 (~> 0.2.0)
+ csv (~> 3.3.2)
jekyll (~> 4)
jekyll-redirect-from
- nokogiri (~> 1.14)
- webrick (~> 1.7)
+ nokogiri (~> 1.18.2)
+ webrick (~> 1.9.1)
BUNDLED WITH
- 2.3.11
+ 2.5.22
diff --git a/site/README.md b/site/README.md
index 68c482ec9a..ff374cf59a 100644
--- a/site/README.md
+++ b/site/README.md
@@ -68,7 +68,7 @@ ### Setup your environment
### Build site
1. `cd site`
-2. `docker compose run build-site`
+2. `env JEKYLL_UID=$(id -u) JEKYLL_GID=$(id -g) docker compose run build-site`
### Generate javadoc
diff --git a/site/_sass/_style.scss b/site/_sass/_style.scss
index 978dd045cf..9fa593cf30 100644
--- a/site/_sass/_style.scss
+++ b/site/_sass/_style.scss
@@ -1,5 +1,7 @@
/* Base */
+@use "mixins" as m;
+
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
@@ -11,7 +13,7 @@ body {
color: #ddd;
background-color: #333;
border-top: 5px solid #33adff;
- @include box-shadow(inset 0 3px 30px rgba(0,0,0,.3));
+ @include m.box-shadow(inset 0 3px 30px rgba(0,0,0,.3));
text-shadow: 0 1px 3px rgba(0,0,0,.5);
-webkit-font-feature-settings: "kern" 1;
-moz-font-feature-settings: "kern" 1;
@@ -67,17 +69,17 @@ nav {
margin-right: 10px;
a {
- @include border-radius(5px);
+ @include m.border-radius(5px);
font-weight: 900;
font-size: 14px;
padding: 0.5em 1em;
text-shadow: none;
text-transform: uppercase;
- @include transition(all .25s);
+ @include m.transition(all .25s);
&:hover {
background-color: #252525;
- @include box-shadow(inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0
rgba(255,255,255,.1));
+ @include m.box-shadow(inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0
rgba(255,255,255,.1));
text-shadow: 0 1px 3px rgba(0,0,0,.5);
}
}
@@ -87,7 +89,7 @@ nav {
a {
background-color: #33adff;
color: #222;
- @include box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px
rgba(0,0,0,.5));
+ @include m.box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px
rgba(0,0,0,.5));
text-shadow: 0 1px 0 rgba(255,255,255,.3);
}
}
@@ -112,7 +114,7 @@ nav {
font-size: 14px;
font-weight: 900;
padding: 5px;
- @include border-radius(5px);
+ @include m.border-radius(5px);
}
li {
@@ -126,7 +128,7 @@ nav {
a {
background-color: #33adff;
color: #222;
- @include box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px
rgba(0,0,0,.5));
+ @include m.box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px
rgba(0,0,0,.5));
text-shadow: 0 1px 0 rgba(255,255,255,.3);
}
}
@@ -141,7 +143,7 @@ nav {
left: 0.5em;
opacity: 0;
font-size: 0.8em;
- @include transition(opacity 0.2s ease-in-out 0.1s);
+ @include m.transition(opacity 0.2s ease-in-out 0.1s);
}
h2:hover .header-link,
h3:hover .header-link,
@@ -195,7 +197,7 @@ footer {
margin-left: 5px;
opacity: .8;
padding: 1px;
- @include transition(opacity .2s);
+ @include m.transition(opacity .2s);
}
}
@@ -229,7 +231,7 @@ footer {
background-color: #3F1F1F;
color: #fff;
margin: 60px 0;
- @include box-shadow(inset 0 3px 10px rgba(0,0,0,.4));
+ @include m.box-shadow(inset 0 3px 10px rgba(0,0,0,.4));
.content { padding: 0; }
@@ -278,8 +280,8 @@ footer {
text-align: center;
margin: 0 20px;
padding: 5px 0;
- @include border-radius(5px 5px 0 0);
- @include box-shadow(0 3px 10px rgba(0,0,0,.5));
+ @include m.border-radius(5px 5px 0 0);
+ @include m.box-shadow(0 3px 10px rgba(0,0,0,.5));
font: 400 16px/24px 'Helvetica Neue', Helvetica, Arial, sans-serif;
color: #444;
text-shadow: 0 1px 0 rgba(255,255,255,.5);
@@ -299,8 +301,8 @@ footer {
text-shadow: none;
margin: 0 20px;
background-color: #171717;
- @include border-radius(0 0 5px 5px);
- @include box-shadow(0 5px 30px rgba(0,0,0,.3));
+ @include m.border-radius(0 0 5px 5px);
+ @include m.box-shadow(0 5px 30px rgba(0,0,0,.3));
}
.line {
@@ -313,7 +315,7 @@ footer {
.path {
color: #87ceeb;
- @include user-select(none);
+ @include m.user-select(none);
}
.prompt {
@@ -367,10 +369,10 @@ footer {
article {
background-color: #444;
- @include border-radius(10px);
+ @include m.border-radius(10px);
padding: 20px;
margin: 0 10px;
- @include box-shadow(0 3px 10px rgba(0,0,0,.1));
+ @include m.box-shadow(0 3px 10px rgba(0,0,0,.1));
font-size: 16px;
}
@@ -457,9 +459,9 @@ aside {
text-transform: uppercase;
font-weight: 700;
padding: 8px 12px 10px;
- @include border-radius(5px);
+ @include m.border-radius(5px);
/*border: 1px solid #333;*/
- @include box-shadow(0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px
rgba(255,255,255,.5));
+ @include m.box-shadow(0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px
rgba(255,255,255,.5));
background-color: #767676;
}
@@ -532,9 +534,9 @@ article h2:first-child { margin-top: 0; }
margin-left: -30px;
padding: 6px 10px 8px;
padding-left: 50px;
- @include border-radius(0 5px 5px 0);
+ @include m.border-radius(0 5px 5px 0);
position: relative;
- @include box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0
rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
+ @include m.box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0
rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
background-color: #9e2812;
background-image:
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIH
[...]
background-image: -webkit-gradient(linear, left top, left bottom,
from(#9e2812), to(#6f0d0d));
@@ -575,7 +577,7 @@ article h2:first-child { margin-top: 0; }
}
.avatar {
- @include border-radius(3px);
+ @include m.border-radius(3px);
display: inline-block;
vertical-align: middle;
}
@@ -592,9 +594,9 @@ article h2:first-child { margin-top: 0; }
.news article + article {
margin-top: -10px;
- @include border-radius(0 0 10px 10px);
+ @include m.border-radius(0 0 10px 10px);
border-top: 1px solid #555;
- @include box-shadow(0 -1px 0 #2f2f2f);
+ @include m.box-shadow(0 -1px 0 #2f2f2f);
}
/* Code Highlighting */
@@ -622,8 +624,8 @@ h5 > code,
.note > code {
background-color: #2b2b2b;
color: #fff;
- @include border-radius(5px);
- @include box-shadow(inset 0 1px 10px rgba(0,0,0,.3),
+ @include m.border-radius(5px);
+ @include m.box-shadow(inset 0 1px 10px rgba(0,0,0,.3),
0 1px 0 rgba(255,255,255,.1),
0 -1px 0 rgba(0,0,0,.5));
}
@@ -650,7 +652,7 @@ h1, h2, h3, h4, h5, h6 { margin: 0; }
a {
color: #33adff;
text-decoration: none;
- @include transition(all .25s);
+ @include m.transition(all .25s);
&:hover { color: #33adff; }
}
@@ -713,8 +715,8 @@ table {
width: 100%;
background-color: #555;
margin: .5em 0;
- @include border-radius(5px);
- @include box-shadow(0 1px 3px rgba(0,0,0,.3));
+ @include m.border-radius(5px);
+ @include m.box-shadow(0 1px 3px rgba(0,0,0,.3));
}
/* The CSS class is added via _plugins/wrap_table.rb plugin to enable
horizontal scrolling */
@@ -723,8 +725,8 @@ table {
}
thead {
- @include border-top-left-radius(5px);
- @include border-top-right-radius(5px);
+ @include m.border-top-left-radius(5px);
+ @include m.border-top-right-radius(5px);
color: #fff;
background-color: #3a3a3a;
background-image:
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNhM2EzYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIH
[...]
@@ -737,14 +739,14 @@ thead {
th {
position: relative;
- @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
+ @include m.box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
&:first-child {
- @include border-top-left-radius(5px);
+ @include m.border-top-left-radius(5px);
}
&:last-child {
- @include border-top-right-radius(5px);
+ @include m.border-top-right-radius(5px);
}
}
}
@@ -764,7 +766,7 @@ th {
tbody td {
border-top: 1px solid #747474;
border-top: 1px solid rgba(0,0,0,.1);
- @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
+ @include m.box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
background:
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3Rv
[...]
background-image: -webkit-gradient(linear, left top, left bottom,
from(rgba(255,255,255,0.1)), to(rgba(255,255,255,0)));
background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 0%,
rgba(255,255,255,0) 100%);
@@ -808,9 +810,9 @@ code.output {
margin-left: -30px;
padding: 20px 20px 24px;
padding-left: 50px;
- @include border-radius(0 5px 5px 0);
+ @include m.border-radius(0 5px 5px 0);
position: relative;
- @include box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0
rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
+ @include m.box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0
rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
background-color: #7e6d42;
background-image:
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdlNmQ0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIH
[...]
background-image: -webkit-gradient(linear, left top, left bottom,
from(#7e6d42), to(#5c4e35));
diff --git a/site/css/screen.scss b/site/css/screen.scss
index 2eff7f89df..47937f7700 100644
--- a/site/css/screen.scss
+++ b/site/css/screen.scss
@@ -1,9 +1,10 @@
---
---
-@import "mixins";
-@import "normalize";
-@import "gridism";
-@import "pygments";
-@import "font-awesome";
-@import "style";
+@use "mixins" as m;
+@use "normalize";
+@use "gridism";
+@use "pygments";
+@use "font-awesome";
+@use "style";
+
diff --git a/site/docker-compose.yml b/site/docker-compose.yml
index e945e7627a..593229e1b6 100644
--- a/site/docker-compose.yml
+++ b/site/docker-compose.yml
@@ -14,20 +14,23 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-version: '3'
services:
dev:
- image: jekyll/jekyll:4
- command: jekyll serve --watch --force_polling
+ image: ruby:3.3.7-slim-bullseye
+ working_dir: /root
+ command: sh -c "apt-get update && apt-get install -y build-essential
libssl-dev zlib1g-dev ruby-dev bundler && bundle install && bundle exec jekyll
serve --host=0.0.0.0 --watch --force_polling"
ports:
- 4000:4000
volumes:
- - .:/srv/jekyll
+ - .:/root
build-site:
- image: jekyll/jekyll:4
- command: jekyll build
+ image: ruby:3.3.7-slim-bullseye
+ command: sh -c "groupadd -g ${JEKYLL_GID:-1000} jekyll && useradd -u
${JEKYLL_UID:-1000} -g ${JEKYLL_GID:-1000} --create-home jekyll && rm -rf
/home/jekyll/.bundle /home/jekyll/Gemfile.lock /home/jekyll/.jekyll-cache &&
apt-get update && apt-get install -y build-essential libssl-dev zlib1g-dev
ruby-dev bundler && su jekyll -c 'cd ~ && bundle install && bundle exec jekyll
build'"
volumes:
- - .:/srv/jekyll
+ - .:/home/jekyll
+ environment:
+ - JEKYLL_UID=${JEKYLL_UID}
+ - JEKYLL_GID=${JEKYLL_GID}
generate-javadoc:
image: eclipse-temurin:19
working_dir: /usr/src/calcite