[gnome-shell/wip/fmuellner/update-js-ci: 1/2] ci: Update JS tooling




commit 2bdbafdf0d02ad563912c9919df7d977b1c57f59
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               |  26 +++---
 .gitlab-ci/check-potfiles.js | 203 -------------------------------------------
 2 files changed, 16 insertions(+), 213 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ad82d245fc..02ae3bedb1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,7 +27,6 @@ default:
 variables:
   FDO_UPSTREAM_REPO: GNOME/gnome-shell
   BUNDLE: "extensions-git.flatpak"
-  JS_LOG: "js-report.txt"
   LINT_LOG: "eslint-report.xml"
   LINT_MR_LOG: "eslint-mr-report.xml"
 
@@ -50,13 +49,14 @@ workflow:
 .gnome-shell.fedora:35:
   variables:
     FDO_DISTRIBUTION_VERSION: 35
-    FDO_DISTRIBUTION_TAG: '2022-01-18.0'
+    FDO_DISTRIBUTION_TAG: '2022-02-18.0'
     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 +68,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 \
+        main . &&
+
       ./.gitlab-ci/install-meson-project.sh \
         -Dman=false \
         https://gitlab.gnome.org/GNOME/gnome-shell.git \
@@ -75,6 +84,8 @@ workflow:
         subprojects/extensions-tool/ \
         ./generate-translations.sh &&
 
+      dnf remove -y mozjs91-devel
+
 check_commit_log:
   extends:
     - .fdo.ci-fairy
@@ -127,12 +138,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
-      - (! grep -q . $JS_LOG)
-  artifacts:
-      paths:
-          - ${JS_LOG}
-      when: on_failure
+      - gjs-check-syntax
 
 eslint:
   extends:
@@ -178,7 +184,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]