* cli: debug explanation for XVFB
* linting
* add chai-as-promised to CLI dev
* show Linux specific error solution if cannot verify
* add todo
* chore: consolidate github issue url logic
* linting
* add npm script lint-changed to quickly eslint fix changes JS files
* retry verify with our XVFB
* update errors and tests
* update CLI tests
* add test for display error message
* fix unit test
* add successful test with retry
* finish verify retry test
* warn users if hit display problem on first verify
* try to detect display problem when running electron and retry with our xvfb
* add warning message to spawn when attempting xvfb re-run
* add test for display retry behavior on spawn
* more comments for clarity
* fix typo
* move s3 api helpers into own TS file
* add demo file
* add comments
* add method to set user metadata by copying it
* set checksum metadata on uploaded binary
* move checksum to the right upload file
* call the right method
* fix require from ts
* convert size to string
* needs extension
* test binary against other projects
* set checksums as headers during first upload
* Revert "set checksums as headers during first upload"
This reverts commit 2043d9ee1f.
* set ACL to public-read when setting metadata on binary
* linting
* pass content-type
* update scripts tests
* linting
* add --platformArch parameter
* adding S3 sdk
* test binary folder
* linting
* before searching for binary
* linting
* grab folders in the given S3 prefix
* grab folders in the given S3 prefix
* find the last build
* found last builds for commit
* refactoring
* add tests for upload dir name
* create destination zip filename
* copying S3 files
* move s3 helpers into own object, prepare for testing
* add realistic test
* linting
* chore: add documentation to DEPLOY.md file
* fix(deps): update debug to 4.1.1 🌟
* bump cli 'debug' down to 3.2.6 - last version that still supports Node 4
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* use 'platform-arch' naming scheme for downloads
* do full builds for this branch
* Revert "do full builds for this branch"
This reverts commit 6d539513e7.
* update wrong comments
* chore: test upload getCDN functions
* linting js
* unit test refactored manifest
* linting
* upgrade to electron 2.0.18 and node 8.9.3
* use cypress/browsers:node8.9.3-chrome73 docker image
* fix type_spec for chrome
* Revert "fix type_spec for chrome"
This reverts commit 7914f68142.
* fix driver specs for chrome
* update engines to 8.9.3
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* create status check after building binary
* rework status
* put platform first in the status check
* remove building this branch
* modify the status check context, misc cleanup
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* 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>
* update cli_spec
* linting
* update named snapshot to have 1 to match snap-shot-it v5
* update errors spec
* linting
* update snapshot use in download_spec
* update install_spec snapshot
* linting
* update use of snapshot in unzip_spec
* update snapshot use in verify_spec
* enable all CLI specs
* no need to skip snapshot sorting
* upgrade snap-shot-it to v6 in root
* update snap-shot-it to v6 in packages/server
* need to add build script to transpile
* update cypress_spec snapshot use with names
* chore: upgrade stop-only and catch them
* run stop-only first on precommit
* just warn on precommit .only
* testing
* testing done
* run stop-only on git prepush hook
* 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
* use arch when caching dependencies on Circle
* add mac job
* hmm, mac name
* executor name
* use circle v2.1
* circle 2.1 cannot have job names start with a digit
* hmm, separate mac workflow
* shared build job via executor
* allow Node version mismatch on CircleCI Mac build
* correct workflow names per os
* do not check TERM on darwin platform
* move terminal check into a node script
* lint on both mac and linux
* pass linter
* enable full linux workflow
* try building on mac
* use xcode with Node 8.x
* try mac 9.1.0
* xcode 9.0.1
* run prebuild serially
* add node sass rebuild to desktop gui
* build on mac platform
* print identity on mac
* disable Mac workflow for now
* build: print prod and dev dependencies in packages/server
* use npm v6 on Windows
* use only=production npm install flag
* use latest version of Node on AppVeyor
* add env with NODE_ENV=production
* pretty ms for npm install
* fix retry
* remove devDependencies from each file
* test binary build logic on Circle
* do not even run unit tests on circle
* form package json path
* cannot mapSeries twice
* pass package folder name
* fixed missing json to save
* uncomment circle tests
* update some comments, remove branches