浏览代码

Added travis build script.

Daniel Scalzi 7 年之前
父节点
当前提交
9b4a2d4ef9
共有 3 个文件被更改,包括 92 次插入9 次删除
  1. 51 0
      .travis.yml
  2. 21 6
      package-lock.json
  3. 20 3
      package.json

+ 51 - 0
.travis.yml

@@ -0,0 +1,51 @@
+matrix:
+  include:
+    - os: osx
+      osx_image: xcode9.2
+      language: node_js
+      node_js: "8"
+      env:
+        - ELECTRON_CACHE=$HOME/.cache/electron
+        - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
+        - ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true
+
+    - os: linux
+      services: docker
+      language: generic
+      env:
+        - ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true
+
+cache:
+  directories:
+  - node_modules
+  - $HOME/.cache/electron
+  - $HOME/.cache/electron-builder
+
+before_install:
+  - |
+    if [ "$TRAVIS_OS_NAME" == "osx" ]; then
+      mkdir -p /tmp/git-lfs && curl -L https://github.com/github/git-lfs/releases/download/v2.3.1/git-lfs-$([ "$TRAVIS_OS_NAME" == "linux" ] && echo "linux" || echo "darwin")-amd64-2.3.1.tar.gz | tar -xz -C /tmp/git-lfs --strip-components 1
+      export PATH="/tmp/git-lfs:$PATH"
+    fi
+before_script:
+  - git lfs pull
+
+script:
+  - |
+    if [ "$TRAVIS_OS_NAME" == "linux" ]; then
+      docker run --rm \
+        --env-file <(env | grep -iE 'DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS|APPVEYOR_|CSC_|_TOKEN|_KEY|AWS_|STRIP|BUILD_') \
+        -v ${PWD}:/project \
+        -v ~/.cache/electron:/root/.cache/electron \
+        -v ~/.cache/electron-builder:/root/.cache/electron-builder \
+        electronuserland/builder:wine \
+        /bin/bash -c "npm install && npm run travislinux"
+    else
+      npm run travisdarwin
+    fi
+before_cache:
+  - rm -rf $HOME/.cache/electron-builder/wine
+
+branches:
+  except:
+    - "/^v\\d+\\.\\d+\\.\\d+$/"

+ 21 - 6
package-lock.json

@@ -1288,6 +1288,23 @@
         "debug": "2.6.9",
         "mkdirp": "0.5.0",
         "yauzl": "2.4.1"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "0.0.8",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+          "dev": true
+        },
+        "mkdirp": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+          "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "extsprintf": {
@@ -1969,10 +1986,9 @@
       "dev": true
     },
     "mkdirp": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
-      "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
-      "dev": true,
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
       "requires": {
         "minimist": "0.0.8"
       },
@@ -1980,8 +1996,7 @@
         "minimist": {
           "version": "0.0.8",
           "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
-          "dev": true
+          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
         }
       }
     },

+ 20 - 3
package.json

@@ -6,6 +6,8 @@
   "main": "index.js",
   "scripts": {
     "start": "electron index.js",
+    "travislinux": "electron-builder --linux --win",
+    "travisdarwin": "electron-builder --mac",
     "dist": "SET ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true & electron-builder",
     "dist:win": "npm run dist -- --win --x64",
     "dist:mac": "npm run dist -- --mac",
@@ -17,12 +19,12 @@
   },
   "repository": {
     "type": "git",
-    "url": "git+https://gitlab.com/westeroscraft/electronlauncher.git"
+    "url": "git+https://github.com/WesterosCraftCode/ElectronLauncher.git"
   },
   "author": "Daniel Scalzi",
   "license": "AGPL-3.0",
   "bugs": {
-    "url": "https://gitlab.com/westeroscraft/electronlauncher/issues"
+    "url": "https://github.com/WesterosCraftCode/ElectronLauncher/issues"
   },
   "homepage": "http://www.westeroscraft.com/",
   "dependencies": {
@@ -32,6 +34,7 @@
     "ejs": "^2.5.7",
     "ejs-electron": "^2.0.1",
     "jquery": "^3.3.1",
+    "mkdirp": "^0.5.1",
     "request-promise-native": "^1.0.5",
     "tar-fs": "^1.16.0",
     "uuid": "^3.2.1",
@@ -51,9 +54,23 @@
       "output": "dist"
     },
     "win": {
-      "target": "portable",
+      "target": [
+        {
+          "target": "nsis",
+          "arch": "x64"
+        }
+      ],
       "icon": "build/icon.ico"
     },
+    "nsis": {
+      "oneClick": false,
+      "perMachine": true,
+      "allowElevation": true,
+      "installerIcon": "build/icon.ico",
+      "uninstallerIcon": "build/icon.ico",
+      "installerHeader": "build/icon.ico",
+      "installerHeaderIcon": "build/icon.ico"
+    },
     "mac": {
       "target": "dmg",
       "category": "public.app-category.games",