Commit Graph

32 Commits

Author SHA1 Message Date
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
Zach Bloomquist c1a345dce2 Improved proxy support (#3531)
* https-proxy: unused file

* server: wrap all https requests that use a proxy

* server: use request lib in ensureUrl if proxy is in use. this makes runs tab work behind a proxy

* electron: pass --proxy-server to app itself, so the embedded github login page works

* cli: first attempt at env vars from windows registry

* cli: api cleanup

* cli: lint

* cli: fix crash on no proxy, add tests

* add desktop-gui watch to terminals.json

* cli: pass along --proxy-source

* electron: pass --proxy-bypass-list too

* server: whitelist proxy* args

* cli: better wording

* desktop-gui: display proxy settings

* extension: force proxy [wip]

* extension: finally, i am victorious over coffeescript

* extension: add -loopback to bypasslist

* extension: revert changes

Revert "extension: force proxy [wip]"

This reverts commit 3ab6ba42a763f25ee65f12eb8b79eb597efc9b11.

* desktop-gui: skip proxysettings if there aren't any

* https-proxy, server: proxy directConnections using https-proxy-agent

* https-agent: pool httpsAgents

* https-proxy: work when they're not on a proxy

* https-proxy: ci - use agent 1.0

* https-proxy: tests

* desktop-gui: hide proxy settings when not using proxy

* https-proxy: pass req through to https-proxy-agent callback

* cli: use get-windows-proxy

* desktop-gui: always show proxy settings

* server: use get-windows-proxy

* electron, server: supply electron proxy config when window launched

* server: fix

* https-proxy: cleanup

* server: clean up ensureUrl

* https-proxy: cleanup

* cli: fix

* cli: fix destructuring

* server: enable ForeverAgent to pool HTTPS/HTTP connections

#3192

* server: updating snapshot

* https-proxy: don't crash, do error if proxy unreachable

* https-proxy:

* get-windows-proxy@1.0.0

* https-proxy: use proxy-from-env to decide on a proxy for a url

* server: fallback to HTTP_PROXY globally if HTTPS_PROXY not set

* server: proxy args test

* cli: add proxy tests

* cli: add test that loadSystemProxySettings is called during download

* cli, server: account for the fact that CI has some proxy vars set

* https-proxy: ""

* cli, https-proxy, server: ""

* desktop-gui: update settings gui

* desktop-gui: cypress tests for proxy settings

* server: strict undefined check

* cli, server: move get-windows-proxy to scope, optionalDeps

* server, cli: use new and improved get-windows-proxy

* cli, server: 1.5.0

* server: re-check for proxy since cli may have failed to load the lib

* server, cli: 1.5.1

* server: NO_PROXY=localhost by default, clean up

* https-proxy: disable Nagle's on proxy sockets

\#3192

* https-proxy: use setNoDelay on upstream, cache https agent

* https-proxy: test basic auth

* https-proxy: add todo: remove this

* server: add custom HTTP(s) Agent implementation w keepalive, tunneling

* server: typescript for agent

* add ts to zunder

* server: more ts

* ts: add missing Agent type declaration

* server: create CombinedAgent

* server: use agent in more places

* ts: more declarations

* server: make script work even if debug port not supplied

* server: begin some testing

* server, ts: agent, tests

* server: test

* server: agent works with websockets now

* server: update snapshot

* server: work out some more bugs with websockets

* server: more websockets

* server: add net_profiler

* https-proxy: fix dangling socket on direct connection

* server: fix potential 'headers have already been sent'

* https-proxy: nab another dangler

* server: update test to expect agent

* https-proxy: fix failing test

* desktop-gui: change on-link

* server: add tests for empty response case

* server: tests

* server: send keep-alive with requests

* server: make net profiler hook on socket.connect

* server: only hook profiler once

* server: update tests, add keep-alive test

* server: only regen headers if needed

* server: move http_overrides into CombinedAgent, make it proxy-proof

for #112

* server: update snapshot

* server: undo

* server: avoid circular dependency

* https-proxy, server: use our Agent instead of https-proxy-agent

* server: add dependency back

* cli: actually use proxy for download

* server, launcher, ts: typescript

* Revert "server, launcher, ts: typescript"

This reverts commit d3f8b8bbb6.

* Revert "Revert "server, launcher, ts: typescript""

This reverts commit 818dfdfd00.

* ts, server: respond to PR

* server, ts: types

* ts: really fix types

* https-proxy, server: export CA from https-proxy

* agent, server, https-proxy: move agent to own package

* agent => networking, move connect into networking

* fix tests

* fix test

* networking: respond to PR changes, add more unit tests

* rename ctx

* networking, ts: add more tests

* server: add ensureUrl tests

* https-proxy: remove https-proxy-agent

* server: use CombinedAgent for API

* server: updates

* add proxy performance tests

* add perf tests to workflow

* circle

* run perf tests with --no-sandbox

* networking, ts: ch-ch-ch-ch-changes

* server, networking: pr changes

* run networking tests in circle

* server: fix performance test

* https-proxy: test that sockets are being closed

* https-proxy: write, not emit

* networking: fix test

* networking: bubble err in connect

* networking: style

* networking: clean p connect error handling

* networking => network

* server: make perf tests really work

* server: really report

* server: use args from browser

* server: use AI to determine max run time

* server: load electron only when needed


Co-authored-by: Brian Mann <brian@cypress.io>
2019-03-31 23:39:10 -04:00
renovate[bot] 0568133b19 fix(deps): update dependency electron-packager to version 9.1.0 🌟 (#3384)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-02-08 16:10:44 +06:30
renovate[bot] ff5c88ada1 chore(deps): pin dependency @cypress/env-or-json-file to version 2.0.0 🌟 (#3012)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-01-31 16:25:16 +06:30
Jennifer Shehane e2705e96dd Normalize headers across package READMEs [skip ci]
- update some instructions in readmes
2019-01-24 15:07:13 +06:30
Chris Breiding cb06741675 remove obselete @cypress/releaser deps (#3197) 2019-01-23 10:37:51 -05:00
renovate[bot] 0eb9314ea1 chore(deps): update @cypress/icons to 0.7.0 🌟 (#3018) 2019-01-16 13:17:00 +06:30
Gleb Bahmutov 13178b01cb Pin prod dependencies 3025 (#3026)
* pin packages/electron prod dependencies

* pin packages/example

* pin packages/extension

* pin packages/https-proxy

* pin packages/launcher

* pin packages/server

* pin packages/ts
2019-01-02 13:58:20 -05:00
Brian Mann d4845d8bcb do not set url on invalid cookies (#2788)
fixes #2724
2018-11-15 09:49:53 -05:00
Brian Mann 2333d04a54 secure cookie error crash (#2685)
- fixes #1264 
- fixes #1321 
- fixes #1799  
- fixes #2689
- fixes #2688
- fixes #2687 	
- fixes #2686
2018-11-01 12:34:37 -04:00
Chris Breiding 2a8478fc36 add dependency check pre-condition to all packages (#2580) 2018-10-15 16:42:32 -04:00
Brian Mann b48d29c07e electron: upgrade to 1.8.2, node 8.2.1, chromium 59 (#1275)
* electron: upgrade to 1.8.2, node 8.2.1, chromium 59

* server: update snapshots for node

* server: try to debug timeouts for mochawesome

* bump zunder

- node-sass 3.13.1 does not work with Node 8, since we’re upgrading the
project to node 8.2.1, we needed node-sass 4.5.3+. This node-sass dep
was coming from gulp-sass dep in zunder which has since been updated

* server: figured out that fixture scaffolding can cause timeouts

* bump zunder - get fix so that asserts are not prefixed with /

* server: use our own heroku example app

* use cypress/browsers:chrome64 docker image on Circle with Node 8

* update root folder name

* add hash to root cache

* disable permissions test, because cannot run as root

* server: only disable test in CI

* test new binary against other projects

* all: rename cypress-monorepo -> cypress

* scripts: use latest docker container

* server: don't skip as this messes up hooks which cause failures downstream

* driver: bump timeout for zonejs

* server: make tests pass for node 8.2.1 and 8.4.0
2018-02-10 22:08:56 -05:00
Brian Mann 8033fbf819 Issue 995 (#996)
* better explain contributing to the driver

- update npm tasks to reflect newest conventions

* better explain contributing to the desktop-gui

- update npm tasks to reflect newest conventions

* synchronize content changes

* capitalize all package readme's for consistency

* better explain contributing to the runner, synchronize content changes

* better explain contributing to the server

* synchronize content

* synchronize content

* synchronize content

* synchronize content

* synchronize content

* synchronize content

* better contribution guidelines by redirecting users to package specific readme's

* synchronize content

* fix various content mistakes

* simplify contributing

* removed dead files

* bump zunder

* lock zunder to 5.1.0
2017-12-02 18:51:42 -05:00
Gleb Bahmutov 05210dc24a Update package readmes for #516 (#569)
* update packages/driver readme close #516 

* update packages/electron readme

* update packages/extension readme

* update packages/http-proxy readme and cross-env

* update packages/launcher readme

* update bin-up

* update reporter readme

* update runner readme

* update socket readme
2017-10-05 18:38:06 +00:00
Gleb Bahmutov d7762ee9a2 electron 1.4.6 2017-09-28 14:18:47 -04:00
Gleb Bahmutov 6f0339593e electron: use version 1.7.8 2017-09-25 14:09:56 -07:00
Gleb Bahmutov c2f4caa0bb more debugging output 2017-09-25 13:22:57 -07: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 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 3d8489369b electron: upgrade electron-packager dep to 9.0.1 2017-09-14 17:08:57 -04:00
Gleb Bahmutov 91ec7a0dd8 Move deploy scripts (#205)
* root: move deploy scripts from server to top level scripts

* remove postinstall download stop variable

* deploy: list all dev dependencies

* working on deploy run

* WIP comment out obsolete run-sequence

* add cypress-io/cypress-example-recipes

* root: enable run all to skip package or packages by name

* deploy: move coffee lint to root

* deploy: make bump async

* deploy: WIP update deploy + build processes for monorepo

* Add cypress-io/cypress-example-module-api project build to bump

* remove commas

* Add project cypress-io/cypress-test-ci-environments to list of projects to test

* deploy: WIP refactor classes -> functional

* deploy: don't copy node_modules or prune -> just npm install

* cli: consolidate important fields into monorepo root, pull out and build

* all: cleanup package.json, remove versions, license, repo information

-move some deps to devDeps

* all: convert es5 -> es6 + fix linting

* deploy: specify files to include when copying packages for dist

* deploy: convert coffee script in place + remove coffee files
2017-06-23 10:41:37 -04:00
Gleb Bahmutov f3595761d0 all: set private true in each internal package.json 2017-06-07 16:27:00 -04:00
Gleb Bahmutov e8d6ba6fa0 all: remove individual .gitignore files (#133)
* all: remove individual .gitignore files

* remove .gitignore from docs folder
2017-06-05 17:15:35 -04:00
Brian Mann 4cb4704e5d switch from postinstall to build task 2017-05-31 13:46:01 -04:00
Brian Mann a81ed100bf icons: remove packages/icons wrapper, use @cypress/icons directly 2017-05-31 12:52:37 -04:00
Brian Mann 817758e4b6 all: symlink all cypress packages in root node_modules for easy access 2017-05-31 12:51:35 -04:00
Brian Mann 5db19c3a33 consolidated all packages to use shared icons package 2017-05-29 18:14:00 -04:00
Brian Mann 2e892fb542 make package scripts consistent - fixes #43 2017-05-17 12:20:06 -04:00
Brian Mann 8a0a60c27e created coffee package, updated paths and cjsxify to prevent incorrect stack traces on errors 2017-05-14 19:07:42 -04:00
Brian Mann a971c413c1 all: remove node version for each package 2017-05-13 12:14:09 -04:00
Brian Mann 60a51c434b electron: always clear out the symlink before setting a new one 2017-05-09 13:51:29 -04:00
Chris Breidng 6efcf64005 remove core- prefixes from packages 2017-04-21 10:34:19 -04:00