Commit Graph

27 Commits

Author SHA1 Message Date
renovate[bot] 879288942c chore(deps): update dependency gulp to version .x 🌟 (major) (#4816)
* chore(deps): update gulp to 4.0.2 🌟

* remove unused gulp-typescript package

* rename gulpDebug dep for consistency

* remove run-sequence dep - replace with new gulp.sequence and gulp.parallel

* pass new sourcemaps arg through to gulp-coffee

* fix favicon task that I broke. 😬

* fix extension gulpfile - needed those returns :P

- also update vinyl-source-stream to avoid vinyl errors during gulp
tasks

* Fix example gulpfile to allow empty sources


Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2019-07-26 14:02:44 +06:30
Ben Kucera 7857dac907 [internal] use webpack for builds (#4103)
* add webpack

* fix build proccess

* fix reporter build and test

* fix reporter test .css

* use apply(window, ...) since strict mode in webpack

* temp 05/13/19 [skip ci] resolver

* temp 05/14/19 [skip ci] webpack w/ root level symlinks

* run ci

* minor fixes

* fix link-packages script

* hopefully fix mac build

* re-add build-prod script in reporter

* fix typo in link-packages script

* fix lint errors

* fix node-version

* namespace files in webpack

* bust circle ci cache

* bust circle ci cache 2

* remove deps

* bust circle ci cache 3

* bust circle ci cache (launcher)

* ok circleci, you win. I will change all the cache keys

* update snapshot: not sure why added stack lines

* add mocha to reporter devDeps

* separate build file for reporter

* remove unneeded code

* node-sass-globbing use relative imports for appveyor

* add debugging for appveyor failure

* node-sass-globbing force unix paths for windows

* node-sass-globbing force unix paths for windows 2

* node-sass-globbing force unix paths for windows in runner

* run ci

* add checksum to packages caches

* bust circle ci cache (sub packages)

* testing code for appveyor env vars

* fix appveyor env vars for branchname
06-00000026

* fix binary build script, smoke test catch errors, include pkg mains
03-0000000a

* build binary in appveyor for this branch
07-00000047

* fix binary unit test, revert mocha upgrade in root, fix e2e specs
02-00000004

* statically replace symlinks at build time, add test, remove proxy packages code
03-00000002

* oops, update snapshot
04-00000049

* bump circle packages cache
02-00000005

* fix path.win32 on windows, add test for it
00-00000058

* for some reason packages ci cache is not including `rebuild-node-sass` in node_modules/.bin, and npm does not recreate .bin links if a node_modules folder already exists. so Im bumping all the npm caches, again
00-00000003

* emit during webpack-dev-server watch mode
02-00000020

* try revert circle.yml
02-0000002f

* try revert everything
03-0000003b

* Revert "try revert everything"

This reverts commit be125b88ff.

* no circle cache now
02-00000013

* remove logging in reporter build
06-00002a41

* Merge branch develop of github.com:cypress-io/cypress into webpack-runner
02-0000089b

* make build scripts DRY
04-00000a7f

* fix missing fonts, better watch mode
06-00003053

* use webpack --progress in watch mode
00-00000582

* move webpack config files into dedicated package
05-000023bf

* build desktop-gui with webpack, use relative scss url()s
03-00001801

* add timings info, fix configs
07-00005582

* enable sourcemaps "eval", fix desktopgui test
04-00005a08

* try 2: fix desktopgui test
01-0000058e

* fix lint
03-00000b10

* fix snapshot (very minor do not worry)
04-000014a4

* code cleanup
00-00007a4f

* try disable devtool
07-0000a97a

* remove cypress:// devtool sourceURL mapping to prevent cross-domain on electron
00-000056e4

* re-enable eval sourcemap in dev and prod
06-000051e6

* code cleanup
02-000056ae

* refactor node-jsdom setup for tests
00-000041a2

* re-enable sourceURL protocol, enable crossorigin script on runner to appease electron

* smoke tests for static assets in binary build script, disable sourceURL protocol mapping, more consistent dev/prod webpack builds

* use cross-env for desktop-gui

* desktop-dui: expect development NODE_ENV during build script (as has been in past)

* fix build script unit test

* fix build script unit test for real

* fix sourcemaps for dev/prod, add comments, add build static asset tests

* add cross-env to runner devDeps

* fix unit tests for build binary script

* fix whitespace

* add postcss autoprefixer + staticAsset tets

* add eslintrc to scripts/unit

* tabs -> spaces

* tabs -> spaces

* fix binary/util scripts

* fix testStaticAssets in build script

* fix extension requiring node socket

* fix unit-test for binary build script

* fix unit test for runner/reporter

* disable sourcemaps/eval in production

* fix disable sourcemaps in prod code

* resort jsons w/ new lint

* linting fixes

* runner/package.json add back rebuild-node-sass

* no circle cache again

* fix circle.yml

* try appveyor again

* fix binary build: remove "timers" from server/package.json.files

* fix testStaticAssets false-positive sourcemap detection (due to diff package)

* fix 2 failing e2e tests (run in chrome for now)
use build-prod scripts in binary-build script
add build-prod scripts to all packages

* a string is no regex

* correct merge: global_mode_spec

* fix all snapshot screenshot dimensions

* fix all snapshot screenshot dimensions (again)

* fix testStaticAssets development -> production

* Revert "fix all snapshot screenshot dimensions (again)"

This reverts commit d9022ef950.

* Revert "fix all snapshot screenshot dimensions"

This reverts commit 4f7628a051.

* helpers/e2e: only normalize screenshot dimensions NOT on electron

* post-task: windows build don't build on this branch

* post-task: un-bump circleci cache

* post-task: bump circleci cache packages/node_modules to v9

* cleanup: fix eol-newline, remove unneeded eslintrc

* bump circleci cache

* run rebuild-node-sass inside webpack build config

* bump circleci cache

* use cache version from env variable on circle

* use custom command to save cache for most packages

* add custom restore cache command

* restore 2 packages separately

* allow passing package path to restore

* pass explicit path to package to restore

* add restore-caches and save-caches

* print name for restoring cache commands

* print name when storing cache

* print .bin when saving cache

* fix path to .bin

* print launcher .bin

* show .bin for desktop-gui

* print bins

* update npm version

* update npm version - try 2

* update npm version - try 3

* remove circleci debugging print commands

* Revert "remove circleci debugging print commands"

This reverts commit 248966efcd.

* add TERM=xterm to Circle

* Revert "Revert "remove circleci debugging print commands""

This reverts commit cf77273b10.

* Revert "add TERM=xterm to Circle"

This reverts commit dc77c94c57.

* remove --serial arg from run all scripts

* add web-config package to cache

* simplify circleci build job

* circleci: try rmrf node_modules/@packages before install

* appveyor: try removing --serial from install script

* Revert "appveyor: try removing --serial from install script"

This reverts commit 7ef619ff30.

* use appveyor from develop

* use preinstall removing subpackage symlinks
fix webpack config typescript errors
fix path to rebuild-node-sass in packages/web-config
assert replace minimum number of symlink requires

* test binary build [build binary]

* fix transformRequires code [build binary]
2019-07-18 12:11:27 -04:00
Gleb Bahmutov edc7b4c453 print more info when checking built version 2019-05-02 17:35:42 -04:00
Brian Mann d4b55ec820 set electron builder options directly to avoid attempting to publish and hanging in CI
- fix variable override
2019-04-18 04:27:43 -04:00
Brian Mann 2a85d6b69b whoops... retry after 5 minutes, not seconds. 2019-04-18 01:51:22 -04:00
Brian Mann 27ccf2709a retry signing the binary once if it fails 2019-04-17 21:37:52 -04:00
Zach Bloomquist db752f5f93 Only package Windows builds of ffmpeg with Windows, build for win32 and win64 (#3877)
* appveyor build for this branch

* don't force install ffmpeg on windows

don't force install ffmpeg on windows

* derp

* fix

* build in appveyor

* oops

* delete using del

* use RMDIR instead of DEL

* only build 32-bit

* build for x64 and x86 windows

* separate win32 and win64

* require lodash

* make electron arch configurable

* cross-compile 32, only run in 64-bit

* force install ffmpeg if necessary

* it's all win10 x64, but we can force it to build for ia32 in x32 mode

* add windows util

* who's idea was it to make whitespace meaningful?

* pass arch to npm install, pass arch to uploader

* add TARGET_PLATFORM

* fun fact: appveyor titlecases env var names

fun fact: appveyor titlecases env var names

* fix: pass args

* use process

* cli: use arch package to send arch to server

* pass TARGET_ARCH to all npm installs

* run-all

* always call getUploadNameByOs

* use the precise version of node, enable both x64 and ia32 arch

* quotes

* uh wat

* move console logs to script because windows

* add yet another env var to install the right node arch

* use x86, not x32

* give ia32 a try, why not

* use platform env again

* and also try x86 again

* remove notion of target_arch since we're using the right node version with arch set correctly

* more comprehensive checks to ensure the arch is correct

* simplify building the binary, do not accept arch as options

* build the binary and test it on this branch

* remove arch, ensure that process.env.Platform is set to x86

* do build the binary unless this is a forked PR

* attempt to verify that this is a 32bit or 64bit windows binary

* remove unused dep

* consolidate commands

* don't install packages in windows - just build the binary

- this avoids needing to reinstall all node_modules and build-js twice

* build the binary on more branches

* cd up appveyor

* ugh

* right logic for whether or not this is a forked PR

* remove unused deps

* fix undefined var

* platformArch

* set in options

* turns out we do have to npm install before building the binary

* options.platformArch

* comment out appveyor build 32bit/64bit verification temporarily


Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2019-04-08 11:48:14 -04:00
Brian Mann a998b98058 Fix typescript binary building (#3858)
* enable esModuleInterop and fix typescript errors

* set typescript as root dep, use bin-up for tsc

* fix network package deps, add typescript build process

* add packages/server build process for typescript

* fix launcher exports

* formatting

* build the binary in this branch

* server: import in a stubbable way

* launcher: import stuff so it can be stubbed

* network: make stuff stubbable

* clean up imports

* network: let evil dns override dns.lookup


Co-authored-by: Zach Bloomquist <github@chary.us>
2019-04-01 20:08:19 -04:00
Gleb Bahmutov a81f38aa5a Build and sign Mac app on CircleCI (#3107)
* try codesign on mac circle

* run mac code sign setup as sudo

* check env variables

* pass org context to command

* update shell command

* hmm does shell need to login

* add FASTLANE_LANE

* fix log messages in build

* DEBUG code sign

* try importing profile first

* use sign shell script inline

* exit if importing profile fails

* unlock keychain

* try creating custom keychain and using it

* more unlocking

* try using -T

* append new keychain to the list

* try mac executor 10.1.0

* skip node version check

* set keychain name to use for signing

* remove passing name of the keychain

* more comments

* use env variables directly to code sign on mac

* use electron-builder to sign mac app

* try disabling publishing by electron-builder

* try testing Mac binary against kitchensink

* wait on the right job

* run on mac-sign-2 branch

* remove buildkite pipeline

* remove old commands

* darwin platform

* workflows via templates

* inherit stdio when calling codesign

* build binary for this branch

* actually build an app, dah

* add note about code sign in PR

* remove FASTLANE env variable

* enable linux builds and remove current branch
2019-01-09 22:52:23 -05:00
Gleb Bahmutov 7d13cf59ec Add ability to point built binary at staging, close #813 (#814)
* allow setting CYPRESS_ENV when running binary, close #813

* test on CircleCI against staging API

* clone test project using HTTPS

* pass record key via environment variable

* use xvfb-maybe

* locally install xvfb-maybe

* remove debug

* add testing built binary against staging api

* do not try to guess if missing ts-node is ok

* install built npm cypress.tgz

* do not need xvfb for cypress run
2017-10-26 16:33:10 -04:00
Gleb Bahmutov 76cd0d9b5e root: add a few checks during build to avoid undefined folder in #575 2017-10-05 17:06:19 -04:00
Gleb Bahmutov 9505640db0 install two ffmpeg architectures on Windows, close #558 (#561)
* install two ffmpeg architectures on Windows, close #558

* add missing function to export object
2017-10-04 21:00:11 +00:00
Gleb Bahmutov ac902fb440 build: building all the way on Windows
- disabled video recording in smoke project on win32
- smoke test still crashes at the very end
2017-09-25 09:41:05 -07:00
Gleb Bahmutov 573b357595 launcher: clean script
make launcher clean command cross-platform script
2017-09-25 07:30:51 -07:00
Gleb Bahmutov a0c08bbdf3 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
2017-09-25 10:17:28 -04:00
Brian Mann 4b9b36a4bb root: remove dead deploy code, refactor to do smoke test, project test, and failing project test 2017-09-17 20:51:03 -04:00
Brian Mann 3d8489369b electron: upgrade electron-packager dep to 9.0.1 2017-09-14 17:08:57 -04:00
Brian Mann 67fc544523 root: fix coffeescript conventions 2017-09-01 02:22:46 -04:00
Gleb Bahmutov a364607b6b Issue 281 - add @packages/root (#282)
* link: create fake @packages/root

* server: switch to loading @packages/root

* server: update tests after using @packages/root

* load root package in other places

* load root package in build using @packages/root

* update tests that mock root package

* server: fix server start whenever loading root package in updater

* fix updater test

* uncomment code
2017-07-10 10:07:52 -04:00
Gleb Bahmutov de305db260 Build app for both platforms (#249)
* binary: check platform, throw exception on mismatch

* binary: build script actually builds linux platform app

* zip from Mac both linux and darwin apps

* quiet npm installs during builds
2017-06-30 16:50:05 -04:00
Gleb Bahmutov 54384d1dba Sign Mac app - issue 240 (#247)
* binary: sign Mac app, close #240

* checking the app signing

* binary: successfully signed Mac app
2017-06-30 14:44:08 -04:00
Gleb Bahmutov 1439976ac9 Proxy packages instead of symlinks (#245)
* all: replace symlinks with proxy modules

* replacing symlinking with copying proxy packages

* https-proxy: add missing prod dependency lodash

* put actual path to main for each package proxy

* better console log

* driver: include index.js in published files

* https-proxy was missing debug production dependency

* app built with proxied packages works

* delete existing node_modules/@packages before making proxies

* explicit async fs call

* server: remove deep paths in tests

* driver: remove nested path to @packages

* link: ensure each package has main set
2017-06-30 11:33:09 -04:00
Gleb Bahmutov bf7b2cd673 symlink relative paths 2017-06-29 18:07:48 -04:00
Gleb Bahmutov f33aeabfa0 binary: add CLI option to skip cleaning output dist folder 2017-06-29 16:07:49 -04:00
Gleb Bahmutov 25c6bee630 build: fix missing argument 2017-06-29 15:00:01 -04:00
Gleb Bahmutov d2600f41d8 merged renames 2017-06-29 14:50:08 -04:00
Brian Mann be211af10e deploy: rename deploy -> binary folder 2017-06-29 14:06:45 -04:00