Windows support (#484)

* try installing on Windows

* Handle windows setup

- no browser detection on windows yet, just placeholder code
- symlink types

* add appveyor file

* add appveyor windows build

* use execa to run server unit tests

* run server unit tests on appveyor

* ignore root install errors

* upgrade rebuild-node-sass

and work on Json unit test that fails on Windows

* print npm version

before installing, commented out caching node modules in the root

* a few small tweaks for windows support

* fix bin-up in launcher project

use bin-up@1.1.0 for windows support, close #491

* cli: build script on Windows, close #492

* cli: build errors are fatal

* use cross-env in extension

Fixes environment variables on Windows in #490

* extension: fix 3 tests on Windows

1 more broken test remaining

* extension: use EOL before comparing text

* example: update test for Windows

* example: replace build.sh with build.js

Close #488

* remove trailing whitespace

* cli: build script again

* server: work on unit tests for windows

* binary: add windows as build platform

* windows: try building binary

started work on building on CI for windows
This commit is contained in:
Gleb Bahmutov
2017-09-25 10:17:28 -04:00
committed by GitHub
parent 7700927231
commit a0c08bbdf3
36 changed files with 309 additions and 107 deletions
+10
View File
@@ -16,6 +16,7 @@ coffee = require("@packages/coffee")
electron = require("@packages/electron")
signOsxApp = require("electron-osx-sign")
debug = require("debug")("cypress:binary")
R = require("ramda")
meta = require("./meta")
smoke = require("./smoke")
@@ -31,6 +32,12 @@ fs = Promise.promisifyAll(fse)
logger = (msg, platform) ->
console.log(chalk.yellow(msg), chalk.bgWhite(chalk.black(platform)))
logBuiltAllPackages = () ->
console.log("built all packages")
logBuiltAllJs = () ->
console.log("built all JS")
# can pass options to better control the build
# for example
# skipClean - do not delete "dist" folder before build
@@ -77,7 +84,10 @@ buildCypressApp = (platform, version, options = {}) ->
log("#buildPackages")
packages.runAllBuild()
# Promise.resolve()
.then(R.tap(logBuiltAllPackages))
.then(packages.runAllBuildJs)
.then(R.tap(logBuiltAllJs))
copyPackages = ->
log("#copyPackages")