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



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

    ci: Use custom image for JS checks
    
    Running dnf to update and install additional packages every time
    the job is executed slows down the CI pipeline. Avoid this by
    using another custom images for JS source checks.
    
    In addition to the js shell we use for the existing syntax check,
    also include eslint for future jobs and some extension-specific
    tooling to make the image more useful to extension authors.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/408

 .gitlab-ci.yml                     |  4 +---
 .gitlab-ci/Dockerfile.extension-ci | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 3 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e87eaa64c..b35e4916a 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..228355475
--- /dev/null
+++ b/.gitlab-ci/Dockerfile.extension-ci
@@ -0,0 +1,18 @@
+FROM registry.fedoraproject.org/fedora:latest
+
+RUN dnf -y update && dnf -y upgrade && \
+    dnf install -y 'dnf-command(copr)' && \
+
+    # For syntax checks with `find . -name '*.js' -exec js60 -c -s '{}' ';'`
+    dnf install -y findutils mozjs60-devel && \
+
+    # For static analysis with eslint
+    dnf install -y nodejs && \
+    npm install -g eslint && \
+
+    # Shameless plug for my own tooling; useful for generating zip
+    dnf copr enable -y fmuellner/gnome-shell-ci && \
+    dnf install -y gnome-extensions-tool meson && \
+
+    dnf clean all && \
+    rm -rf /var/cache/dnf


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