[gnome-shell/wip/fmuellner/update-js-ci: 3/4] ci: Update JS tooling




commit 24807b4d4962fad835561f491dd5022fcf195ca6
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Feb 17 22:54:22 2022 +0100

    ci: Update JS tooling
    
    Provided we use the correct version of the SpiderMonkey shell, we
    can perform checks using the same engine that is used by gjs.
    
    However some engine features are opt-in, so the set of features enabled
    by gjs and js91 may differ. The obvious option for avoiding this is
    replacing js91 with gjs for tests.
    
    For that reason the check-potfiles.js script has been ported to gjs
    and a second (simpler) script to replace `js91 --compileonly` was
    added. This work happened in a separate repository to make sharing
    between different JS-based projects easier.
    
    Update the CI image to pull in those scripts, as well as a recent
    version of gjs.
    
    This will also address the issue that `js91 --compileonly` does not
    handle modules.

 .gitlab-ci.yml               |  20 ++++-
 .gitlab-ci/check-potfiles.js | 203 -------------------------------------------
 2 files changed, 16 insertions(+), 207 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ad82d245fc..99b0181e18 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -50,13 +50,14 @@ workflow:
 .gnome-shell.fedora:35:
   variables:
     FDO_DISTRIBUTION_VERSION: 35
-    FDO_DISTRIBUTION_TAG: '2022-01-18.0'
+    FDO_DISTRIBUTION_TAG: '2022-02-17.2'
     FDO_DISTRIBUTION_PACKAGES:
-      findutils
+      mozjs91
       mozjs91-devel
       nodejs
       npm
       meson
+      pkgconfig(gobject-introspection-1.0)
       pkgconfig(gio-2.0)
       pkgconfig(gio-unix-2.0)
       pkgconfig(gnome-autoar-0)
@@ -68,6 +69,15 @@ workflow:
       dnf group install -y 'Development Tools' \
                  'C Development Tools and Libraries' &&
 
+      ./.gitlab-ci/install-meson-project.sh \
+        -Dskip_dbus_tests=true \
+        https://gitlab.gnome.org/GNOME/gjs.git \
+        master .  &&
+
+      ./.gitlab-ci/install-meson-project.sh \
+        https://gitlab.gnome.org/fmuellner/gjs-ci-tools.git \
+        tmp-main . &&
+
       ./.gitlab-ci/install-meson-project.sh \
         -Dman=false \
         https://gitlab.gnome.org/GNOME/gnome-shell.git \
@@ -75,6 +85,8 @@ workflow:
         subprojects/extensions-tool/ \
         ./generate-translations.sh &&
 
+      dnf remove -y mozjs91-devel
+
 check_commit_log:
   extends:
     - .fdo.ci-fairy
@@ -127,7 +139,7 @@ js_check:
       - .gnome-shell.fedora:35
   stage: review
   script:
-      - find js -name '*.js' $(printf "! -wholename %s " $(cat .jscheckignore)) -exec js91 -c '{}' ';' 2>&1 
| tee $JS_LOG
+      - gjs-check-syntax | tee $JS_LOG
       - (! grep -q . $JS_LOG)
   artifacts:
       paths:
@@ -178,7 +190,7 @@ potfile_js_check:
     - .gnome-shell.fedora:35
   stage: review
   script:
-    - js91 -m .gitlab-ci/check-potfiles.js
+    - gjs-check-potfiles
 
 build:
   stage: build


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