[gnome-shell/wip/fmuellner/ci-test] ci: Use custom image for JS checks



commit e9afa711e0f54ac5e8e2c305190bd96c73dc3ea8
Author: Florian Müllner <fmuellner gnome org>
Date:   Wed Feb 13 05:49:37 2019 +0100

    ci: Use custom image for JS checks

 .gitlab-ci.yml                     |  4 +---
 .gitlab-ci/Dockerfile.extension-ci | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 3 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c0c03bf4f..1b439f710 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,10 +8,8 @@ variables:
     POT_LOG: "pot-update.txt"
 
 js_check:
-    image: registry.fedoraproject.org/fedora:latest
+    image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
     stage: source_check
-    before_script:
-        - dnf install -y findutils mozjs60-devel
     script:
         - find js -name '*.js' -exec js60 -c -s '{}' ';' 2>&1 | tee $JS_LOG
         - (! grep -q . $JS_LOG)
diff --git a/.gitlab-ci/Dockerfile.extension-ci b/.gitlab-ci/Dockerfile.extension-ci
new file mode 100644
index 000000000..cb1f999bc
--- /dev/null
+++ b/.gitlab-ci/Dockerfile.extension-ci
@@ -0,0 +1,33 @@
+FROM registry.fedoraproject.org/fedora:latest
+
+ENV BUILD_DEPS="redhat-rpm-config meson git gcc make which gnome-common gtk-doc vala"
+
+RUN dnf -y update && dnf -y upgrade && \
+    # For syntax checks with `find . -name '*.js' -exec js60 -c -s '{}' ';'`
+    dnf install -y findutils mozjs60 && \
+
+    # For static analysis with eslint
+    dnf install -y nodejs && \
+    npm install -g eslint && \
+
+    # Shameless plug for gnome-extensions-tool; useful for creating zip
+    dnf install -y $BUILD_DEPS gobject-introspection-devel \
+                   'pkgconfig(json-glib-1.0)' 'pkgconfig(gnome-autoar-0)' && \
+
+    # Build gnome-autoar to keep gtk & friends out of the image
+    git clone https://gitlab.gnome.org/GNOME/gnome-autoar.git && \
+    cd gnome-autoar && \
+    ./autogen.sh --prefix=/usr --disable-gtk --disable-introspection \
+                               --disable-gtk-doc --disable-vala && \
+    make all install && \
+    cd .. && \
+
+    git clone https://gitlab.gnome.org/fmuellner/gnome-extensions-tool.git && \
+    cd gnome-extensions-tool && \
+    meson --prefix /usr build && \
+    ninja -C build install && \
+    cd .. && \
+
+    dnf remove -y $BUILD_DEPS *-devel && \
+    dnf clean all && \
+    rm -rf /var/cache/dnf


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]