瀏覽代碼

Merge pull request #18928 from munrocket/github-ci

Tests: travis -> github CI
Mr.doob 5 年之前
父節點
當前提交
02336376a5
共有 2 個文件被更改,包括 98 次插入27 次删除
  1. 98 0
      .github/workflows/ci.yml
  2. 0 27
      .travis.yml

+ 98 - 0
.github/workflows/ci.yml

@@ -0,0 +1,98 @@
+name: CI
+
+on:
+  pull_request:
+    paths-ignore:
+      - 'docs/**'
+  push:
+    paths-ignore:
+      - 'docs/**'
+
+jobs:
+
+  lint:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Git checkout
+        uses: actions/checkout@v2
+      - name: Install node
+        uses: actions/setup-node@v1
+        with:
+          node-version: '10.x'
+      - name: Restore cache
+        uses: actions/cache@v1
+        env:
+          cache-name: cache-node-modules
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-ci-${{ env.cache-name }}-
+            ${{ runner.os }}-ci-
+            ${{ runner.os }}-
+      - name: Install packages
+        run: npm ci && sudo apt-get install xvfb
+
+      - name: === Linting ===
+        run: npm run test-lint
+
+  unit:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Git checkout
+        uses: actions/checkout@v2
+      - name: Install node
+        uses: actions/setup-node@v1
+        with:
+          node-version: '10.x'
+      - name: Restore cache
+        uses: actions/cache@v1
+        env:
+          cache-name: cache-node-modules
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-ci-${{ env.cache-name }}-
+            ${{ runner.os }}-ci-
+            ${{ runner.os }}-
+      - name: Install packages
+        run: npm ci && sudo apt-get install xvfb
+
+      - name: === Unit testing ===
+        run: npm run test-unit
+
+  e2e:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        CI: [ 0, 1, 2, 3 ]
+    env:
+      CI: ${{ matrix.CI }}
+      FORCE_COLOR: 1
+
+    steps:
+      - name: Git checkout
+        uses: actions/checkout@v2
+      - name: Install node
+        uses: actions/setup-node@v1
+        with:
+          node-version: '10.x'
+      - name: Restore cache
+        uses: actions/cache@v1
+        env:
+          cache-name: cache-node-modules
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-ci-${{ env.cache-name }}-
+            ${{ runner.os }}-ci-
+            ${{ runner.os }}-
+      - name: Install packages
+        run: npm ci && sudo apt-get install xvfb
+
+      - name: === End-to-end testing ===
+        run: xvfb-run --auto-servernum npm run test-e2e

+ 0 - 27
.travis.yml

@@ -1,27 +0,0 @@
-language: node_js
-node_js: node
-services: xvfb
-cache: bundler
-
-jobs:
-  include:
-
-    - &lint-n-unit
-      stage: lint & unit
-      name: lint
-      script: npm run test-lint
-    - <<: *lint-n-unit
-      name: unit
-      script: npm run test-unit
-
-    - &e2e
-      stage: e2e
-      name: e2e
-      script: npm run test-e2e
-      env: FORCE_COLOR=0 CI=0
-    - <<: *e2e
-      env: FORCE_COLOR=0 CI=1
-    - <<: *e2e
-      env: FORCE_COLOR=0 CI=2
-    - <<: *e2e
-      env: FORCE_COLOR=0 CI=3