[devdocsgjs/wip/andyholmes/upstream-merge: 65/65] DevDocs: merge changes from upstream
- From: Andy Holmes <andyholmes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devdocsgjs/wip/andyholmes/upstream-merge: 65/65] DevDocs: merge changes from upstream
- Date: Fri, 6 May 2022 23:55:06 +0000 (UTC)
commit ab5f69033f527fcb64586f928c167712b1e44fad
Merge: 257ac986 b6874443
Author: Andy Holmes <andrew g r holmes gmail com>
Date: Fri May 6 16:50:12 2022 -0700
DevDocs: merge changes from upstream
.github/workflows/build.yml | 4 +-
.github/workflows/schedule-doc-report.yml | 4 +-
.github/workflows/test.yml | 4 +-
.ruby-version | 2 +-
Dockerfile | 4 +-
Gemfile.lock | 4 +-
assets/javascripts/news.json | 8 +
.../javascripts/templates/pages/about_tmpl.coffee | 40 ++--
assets/javascripts/vendor/prism.js | 230 ++++++++++++++-------
assets/stylesheets/application.css.scss | 2 +
assets/stylesheets/pages/_kubectl.scss | 4 +
assets/stylesheets/pages/_kubernetes.scss | 4 +
docs/scraper-reference.md | 24 +++
lib/docs/core/doc.rb | 13 +-
lib/docs/filters/electron/clean_html.rb | 2 -
lib/docs/filters/html/entries.rb | 2 +
lib/docs/filters/jest/clean_html.rb | 5 -
lib/docs/filters/jest/entries.rb | 2 +-
lib/docs/filters/kotlin/clean_html.rb | 18 --
lib/docs/filters/kubectl/clean_html.rb | 15 ++
lib/docs/filters/kubectl/entries.rb | 38 ++++
lib/docs/filters/kubernetes/clean_html.rb | 22 ++
lib/docs/filters/kubernetes/entries.rb | 37 ++++
lib/docs/filters/nix/clean_html.rb | 121 +++++++++++
lib/docs/filters/nix/entries.rb | 22 ++
lib/docs/filters/rust/clean_html.rb | 7 +-
lib/docs/filters/rxjs/entries.rb | 5 +-
lib/docs/filters/webpack/entries.rb | 4 +-
lib/docs/scrapers/coffeescript.rb | 4 +-
lib/docs/scrapers/crystal.rb | 2 +-
lib/docs/scrapers/d3.rb | 4 +-
lib/docs/scrapers/deno.rb | 2 +-
lib/docs/scrapers/electron.rb | 2 +-
lib/docs/scrapers/flask.rb | 9 +-
lib/docs/scrapers/flow.rb | 2 +-
lib/docs/scrapers/git.rb | 2 +-
lib/docs/scrapers/jest.rb | 4 +-
lib/docs/scrapers/kotlin.rb | 5 +
lib/docs/scrapers/kubectl.rb | 38 ++++
lib/docs/scrapers/kubernetes.rb | 37 ++++
lib/docs/scrapers/leaflet.rb | 11 +-
lib/docs/scrapers/mdn/css.rb | 2 +-
lib/docs/scrapers/mdn/dom.rb | 2 +-
lib/docs/scrapers/mdn/html.rb | 2 +-
lib/docs/scrapers/mdn/javascript.rb | 2 +-
lib/docs/scrapers/mdn/mdn.rb | 2 +-
lib/docs/scrapers/mdn/svg.rb | 2 +-
lib/docs/scrapers/mdn/web_extensions.rb | 2 +-
lib/docs/scrapers/nix.rb | 31 +++
lib/docs/scrapers/node.rb | 2 +-
lib/docs/scrapers/ocaml.rb | 4 +-
lib/docs/scrapers/octave.rb | 7 +-
lib/docs/scrapers/openjdk.rb | 12 +-
lib/docs/scrapers/php.rb | 2 +-
lib/docs/scrapers/rdoc/ruby.rb | 6 +-
lib/docs/scrapers/react_router.rb | 4 +-
lib/docs/scrapers/redux.rb | 4 +-
lib/docs/scrapers/rust.rb | 2 +-
lib/docs/scrapers/rxjs.rb | 4 +-
lib/docs/scrapers/support_tables.rb | 2 +-
lib/docs/scrapers/webpack.rb | 2 +-
lib/docs/scrapers/werkzeug.rb | 7 +-
public/icons/docs/kubectl/16.png | Bin 0 -> 593 bytes
public/icons/docs/kubectl/16 2x png | Bin 0 -> 1214 bytes
public/icons/docs/kubectl/SOURCE | 1 +
public/icons/docs/kubernetes/16.png | Bin 0 -> 790 bytes
public/icons/docs/kubernetes/16 2x png | Bin 0 -> 1887 bytes
public/icons/docs/kubernetes/SOURCE | 1 +
public/icons/docs/nix/16.png | Bin 0 -> 1220 bytes
public/icons/docs/nix/16 2x png | Bin 0 -> 1936 bytes
public/icons/docs/nix/SOURCE | 1 +
71 files changed, 702 insertions(+), 173 deletions(-)
---
diff --cc Dockerfile
index 2f01f26c,060193df..8ecaad7c
--- a/Dockerfile
+++ b/Dockerfile
@@@ -1,141 -1,25 +1,141 @@@
-FROM ruby:2.7.6
+# We bump this each release to fetch the latest stable GIRs
+FROM registry.fedoraproject.org/fedora:36 AS fetch
+
+RUN dnf install -y \
+ NetworkManager-libnm-devel cairo-devel evince-devel folks-devel \
+ geoclue2-devel geocode-glib-devel glib2-devel \
+ gnome-bluetooth-libs-devel gnome-online-accounts-devel gnome-shell \
+ gobject-introspection-devel gom-devel graphene-devel grilo-devel \
+ gsettings-desktop-schemas-devel gsound-devel gspell-devel \
+ gstreamer1-{,plugins-base-,plugins-bad-free-}devel gtk{2,3,4}-devel \
+ gtksourceview{3,4}-devel gupnp-devel gupnp-dlna-devel harfbuzz-devel \
+ ibus-devel keybinder3-devel libappindicator-gtk3-devel \
+ libadwaita-devel libappstream-glib-devel libgcab1-devel libgdata-devel \
+ libgda-devel libgudev-devel libgweather-devel libgxps-devel \
+ libhandy1-devel libnotify-devel libpeas-devel libportal-devel \
+ librsvg2-devel libsecret-devel libsoup-devel libsoup3-devel mutter \
+ pango-devel polkit-devel poppler-glib-devel rest-devel \
+ telepathy-glib-devel tracker-devel udisks-devel upower-devel \
+ vte{,291}-devel wireplumber-devel && \
+ dnf clean all && \
+ rm -rf /var/cache/dnf
+
+
+# We build in fedora:33 for the ruby dependency
+FROM registry.fedoraproject.org/fedora:33 AS build
ENV LANG=C.UTF-8
-ENV ENABLE_SERVICE_WORKER=true
-WORKDIR /devdocs
+# These are GIRs from the fetch step
+COPY --from=fetch /usr/share/gir-1.0 /usr/share/gir-1.0
+COPY --from=fetch /usr/share/gnome-shell /usr/share/gnome-shell
+COPY --from=fetch /usr/lib64/mutter-10 /usr/lib64/mutter-10
-RUN apt-get update && \
- apt-get -y install git nodejs libcurl4 && \
- gem install bundler && \
- rm -rf /var/lib/apt/lists/*
+# These are extra GIRs we can't install with dnf
+COPY lib/docs/scrapers/gnome/girs/*.gir /usr/share/gir-1.0/
+COPY lib/docs/scrapers/gnome/girs/mutter-3 /usr/lib64/mutter-3
+COPY lib/docs/scrapers/gnome/girs/mutter-4 /usr/lib64/mutter-4
+COPY lib/docs/scrapers/gnome/girs/mutter-5 /usr/lib64/mutter-5
+COPY lib/docs/scrapers/gnome/girs/mutter-6 /usr/lib64/mutter-6
+COPY lib/docs/scrapers/gnome/girs/mutter-7 /usr/lib64/mutter-7
+COPY lib/docs/scrapers/gnome/girs/mutter-8 /usr/lib64/mutter-8
+COPY lib/docs/scrapers/gnome/girs/mutter-9 /usr/lib64/mutter-9
+
+# Install devdocs dependencies
+RUN dnf install -y 'dnf-command(builddep)' @development-tools bzip2 gcc-c++ && \
+ dnf builddep -y ruby && \
+ dnf install -y ruby rubygem-bundler ruby-devel python3-markdown \
+ gobject-introspection-devel && \
+ dnf clean all && \
+ rm -rf /var/cache/dnf
+
+# Install the devdocs application
+COPY . /opt/devdocs/
+WORKDIR /opt/devdocs
+
+RUN bundle config set --local deployment 'true' && \
+ bundle install
-COPY Gemfile Gemfile.lock Rakefile /devdocs/
+# Generate scrapers
+RUN bundle exec thor gir:generate_all /usr/share/gir-1.0 && \
+ bundle exec thor gir:generate_all /usr/lib64/mutter-3 && \
+ bundle exec thor gir:generate_all /usr/lib64/mutter-4 && \
+ bundle exec thor gir:generate_all /usr/lib64/mutter-5 && \
+ bundle exec thor gir:generate_all /usr/lib64/mutter-6 && \
+ bundle exec thor gir:generate_all /usr/lib64/mutter-7 && \
+ bundle exec thor gir:generate_all /usr/lib64/mutter-8 && \
+ bundle exec thor gir:generate_all /usr/lib64/mutter-9 && \
+ bundle exec thor gir:generate_all /usr/lib64/mutter-10
-RUN bundle install --system && \
- rm -rf ~/.gem /root/.bundle/cache /usr/local/bundle/cache
+# The GNOME Shell GIRs need to include the current mutter GIRs
+RUN bundle exec thor gir:generate /usr/share/gnome-shell/Gvc-1.0.gir
+RUN bundle exec thor gir:generate /usr/share/gnome-shell/Shell-0.1.gir --include /usr/lib64/mutter-10
+RUN bundle exec thor gir:generate /usr/share/gnome-shell/St-1.0.gir --include /usr/lib64/mutter-10
-COPY . /devdocs
+# Build docsets
+#
+# Intentionally omitted:
+# dbus10, dbusglib10, fontconfig20, freetype220, gdkpixdata20, gl10, gmodule20,
+# libxml220, win3210, xfixes40, xft20, xlib20, xrandr13
+RUN echo adw1 appindicator301 appstreamglib10 atk10 atspi20 cairo10 \
+ camel12 dbusmenu04 ebook12 ebookcontacts12 ecal20 edataserver12 \
+ edataserverui12 evincedocument30 evinceview30 folks07 folksdummy07 \
+ folkseds07 folkstelepathy07 gcab10 gck1 gcr3 gcrui3 gda50 gdata00 \
+ gdesktopenums30 gdk20 gdk30 gdk40 gdkpixbuf20 gdkx1120 gdkx1130 \
+ gdkx1140 gee08 geoclue20 geocodeglib10 gio20 girepository20 glib20 \
+ gnomebluetooth10 gnomebluetooth30 goa10 gobject20 gom10 graphene10 \
+ grl03 grlnet03 grlpls03 gsk40 gsound10 gspell1 gssdp12 gst10 \
+ gstallocators10 gstapp10 gstaudio10 gstbadaudio10 gstbase10 gstcheck10 \
+ gstcodecs10 gstcontroller10 gstgl10 gstinsertbin10 gstmpegts10 \
+ gstnet10 gstpbutils10 gstplayer10 gstrtp10 gstrtsp10 gstsdp10 gsttag10 \
+ gstvideo10 gstvulkan10 gstwebrtc10 gtk20 gtk30 gtk40 \
+ gtkosxapplication10 gtksource30 gtksource4 gudev10 gupnp12 gupnpdlna20 \
+ gupnpdlnagst20 gvc10 gweather30 gxps01 handy1 ibus10 javascriptcore40 \
+ json10 keybinder30 nm10 notify07 pango10 pangocairo10 pangoft210 \
+ pangoxft10 peas10 peasgtk10 polkit10 polkitagent10 poppler018 rest07 \
+ restextras07 rsvg20 secret1 shell01 soup24 soup30 soupgnome24 st10 \
+ telepathyglib012 tracker20 tracker30 trackercontrol20 trackerminer20 \
+ upowerglib10 vte00 vte291 webkit240 webkit2webextension40 wp04 xdp10 \
+ cally3 clutter3 clutterx113 cogl3 coglpango3 meta3 \
+ cally4 clutter4 clutterx114 cogl4 coglpango4 meta4 \
+ cally5 clutter5 clutterx115 cogl5 coglpango5 meta5 \
+ cally6 clutter6 clutterx116 cogl6 coglpango6 meta6 \
+ cally7 clutter7 clutterx117 cogl7 coglpango7 meta7 \
+ cally8 clutter8 clutterx118 cogl8 coglpango8 meta8 \
+ cally9 clutter9 cogl9 coglpango9 meta9 \
+ cally10 clutter10 cogl10 coglpango10 meta10 \
+ | tr ' ' '\n' | xargs -L1 -P$(nproc) bundle exec thor docs:generate --force
-RUN thor docs:download --all && \
- thor assets:compile && \
- rm -rf /tmp
+# We deploy in ruby:2.7.5-alpine for size
+#
+# Changes from Dockerfile-alpine:
- # - Ruby 2.6.0 -> 2.7.5
++# - Ruby 2.6.0 -> 2.7.6
+# - Copy from the build-stage image instead of the current dir
+# - Update bundler CLI usage
+# - Remove `thor compile:assets` until we run in production mode (TODO)
+# - The css and javascript docsets don't resolve and have been removed
+# - User permission fixes
- FROM docker.io/library/ruby:2.7.5-alpine
++FROM docker.io/library/ruby:2.7.6-alpine
+ENV LANG=C.UTF-8
+ENV ENABLE_SERVICE_WORKER=true
+
+WORKDIR /devdocs
+
+COPY --from=build /opt/devdocs /devdocs
+
+RUN apk --update add nodejs build-base libstdc++ gzip git zlib-dev libcurl && \
+ gem install bundler && \
+ bundle config set system 'true' && \
+ bundle config set without 'test' && \
+ bundle install && \
+ apk del gzip build-base git zlib-dev && \
+ rm -rf /var/cache/apk/* /tmp ~/.gem /root/.bundle/cache \
+ /usr/local/bundle/cache /usr/lib/node_modules
+
+RUN adduser -D -h /devdocs -s /bin/bash -G root -u 1000 rbuser
+RUN chmod -R 775 /devdocs
+RUN chown -R rbuser:root /devdocs
EXPOSE 9292
-CMD rackup -o 0.0.0.0
+CMD bundle exec rackup -o 0.0.0.0
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]