Browse Source

ci: run lint on CircleCI (#19058)

* ci: run lint on CircleCI

* Fix linting errors
trop[bot] 5 years ago
parent
commit
d0f7f9f894
4 changed files with 45 additions and 33 deletions
  1. 44 0
      .circleci/config.yml
  2. 0 31
      .vsts/lint.yml
  3. 1 1
      docs/api/menu-item.md
  4. 0 1
      script/lib/utils.js

+ 44 - 0
.circleci/config.yml

@@ -492,6 +492,39 @@ step-maybe-generate-typescript-defs: &step-maybe-generate-typescript-defs
       fi
 
 # Lists of steps.
+steps-lint: &steps-lint
+  steps:
+    - *step-checkout-electron
+    - run:
+        name: Setup third_party Depot Tools
+        command: |
+          # "depot_tools" has to be checkout into "//third_party/depot_tools" so pylint.py can a "pylintrc" file.
+          git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git src/third_party/depot_tools
+          echo 'export PATH="$PATH:'"$PWD"'/src/third_party/depot_tools"' >> $BASH_ENV
+    - run:
+        name: Download GN Binary
+        command: |
+          chromium_revision="$(grep -A1 chromium_version src/electron/DEPS | tr -d '\n' | cut -d\' -f4)"
+          buildtools_revision="$(curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/DEPS?format=TEXT" | base64 -d | grep buildtools_revision -A1 | tr -d '\n' | cut -d\' -f4)"
+
+          git clone https://chromium.googlesource.com/chromium/buildtools "buildtools"
+          (cd "buildtools" && git checkout "$buildtools_revision")
+          echo 'export CHROMIUM_BUILDTOOLS_PATH="'"$PWD"'/buildtools"' >> $BASH_ENV
+
+          download_from_google_storage --bucket chromium-gn -s "buildtools/linux64/gn.sha1"
+    - run:
+        name: Run Lint
+        command: |
+          # gn.py tries to find a gclient root folder starting from the current dir.
+          # When it fails and returns "None" path, the whole script fails. Let's "fix" it.
+          touch .gclient
+          # Another option would be to checkout "buildtools" inside the Electron checkout,
+          # but then we would lint its contents (at least gn format), and it doesn't pass it.
+
+          cd src/electron
+          npm install
+          npm run lint
+
 steps-checkout: &steps-checkout
   steps:
     - *step-checkout-electron
@@ -779,6 +812,13 @@ chromium-upgrade-branches: &chromium-upgrade-branches
 # List of all jobs.
 version: 2
 jobs:
+  # Layer 0: Lint. Standalone.
+  lint:
+    <<: *machine-linux-medium
+    environment:
+      <<: *env-linux-medium
+    <<: *steps-lint
+
   # Layer 1: Checkout.
   linux-checkout:
     <<: *machine-linux-2xlarge
@@ -1302,6 +1342,10 @@ jobs:
 
 workflows:
   version: 2
+  lint:
+    jobs:
+      - lint
+
   build-linux:
     jobs:
       - linux-checkout

+ 0 - 31
.vsts/lint.yml

@@ -1,31 +0,0 @@
-pool:
-  vmImage: 'Ubuntu 16.04'
-
-steps:
-- bash: |
-    # "depot_tools" has to be checkout into "//third_party/depot_tools" so pylint.py can a "pylintrc" file.
-    git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "${AGENT_BUILDDIRECTORY}/third_party/depot_tools"
-    echo "##vso[task.setvariable variable=PATH]$PATH:${AGENT_BUILDDIRECTORY}/third_party/depot_tools"
-  displayName: Setup Depot Tools
-
-- bash: |
-    chromium_revision="$(grep -A1 chromium_version DEPS | tr -d '\n' | cut -d\' -f4)"
-    buildtools_revision="$(curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/DEPS?format=TEXT" | base64 -d | grep buildtools_revision -A1 | tr -d '\n' | cut -d\' -f4)"
-
-    git clone https://chromium.googlesource.com/chromium/buildtools "${AGENT_TEMPDIRECTORY}/buildtools"
-    (cd "${AGENT_TEMPDIRECTORY}/buildtools" && git checkout "$buildtools_revision")
-    echo "##vso[task.setvariable variable=CHROMIUM_BUILDTOOLS_PATH]$AGENT_TEMPDIRECTORY/buildtools"
-
-    download_from_google_storage --bucket chromium-gn -s "${AGENT_TEMPDIRECTORY}/buildtools/linux64/gn.sha1"
-  displayName: Download gn binary
-
-- bash: |
-    # gn.py tries to find a gclient root folder starting from the current dir.
-    # When it fails and returns "None" path, the whole script fails. Let's "fix" it.
-    touch .gclient
-    # Another option would be to checkout "buildtools" inside the Electron checkout,
-    # but then we would lint its contents (at least gn format), and it doesn't pass it.
-
-    npm install
-    npm run lint
-  displayName: Run Lint

+ 1 - 1
docs/api/menu-item.md

@@ -133,7 +133,7 @@ dynamically changed.
 
 A `Function` that is fired when the MenuItem receives a click event.
 It can be called with `menuItem.click(event, focusedWindow, focusedWebContents)`.
-* `event` [KeyboardEvent](structures/keyboard-event.md)
+* `event` Event
 * `focusedWindow` [BrowserWindow](browser-window.md)
 * `focusedWebContents` [WebContents](web-contents.md)
 

+ 0 - 1
script/lib/utils.js

@@ -4,7 +4,6 @@ const { GitProcess } = require('dugite')
 const path = require('path')
 
 require('colors')
-const pass = '\u2713'.green
 const fail = '\u2717'.red
 
 function getElectronExec () {