* fix specs
* use debugger protocol for cookie handling in electron
* use latest gulp
* use rimraf instead of gulp-clean
* use electron 3.1.8 and node 10.2.1
* use gulp 4 in packages/static
* fix sendCommandAsync, log Schema.getDomains on CDP connect
* autofill e2e test name [skip ci]
* electron@5.0.7, see what new failures exist
* --no-sandbox for launching Electron
* update cookies logic for electron
* node 12
* update snapshot for new node
* update error message for new node
* stub sendCommandAsync
* only connect to socket if path has been replaced, fixes#4776
* update node-sass to support node 12
* skip wacky socket tests for now
* snapshot
* fix run_plugins_spec snapshot, don't include stack trace
* use --no-sandbox on linux to run as root
* allow sendCommandAsync to resolve
* use euid for root check
* log domains even if undefined
* don't worry about ending 1xx responses immediately anymore
* use --max-http-header-size, change max size from 8kb to 1mb, fix#76
* do not send 502 on failed websocket, just send back ECONNRESET
* update websocket spec port to not collide with other test
* update outdated expect
* Revert "only connect to socket if path has been replaced, fixes#4776"
This reverts commit f179eda5ca.
* update gulp in root
* update https-proxy unit tests
* update network spec to properly close server
* update reporter spec
* update https-proxy-agent to fix node 10.10.0 change
discussion: https://github.com/nodejs/node/issues/24474\#issuecomment-511963799
* only pass --max-http-header-size on node >=12
* use own server-destroy implementation that supports secureConnect events
* oops
* update socket_spec
* electron 6.0.0
* console.table introduced in node 10
* change browserify entry to init.js
* handle edge case when no response body
* console.table added in node 10
* do not exit app when all BrowserWindows are closed
* update e2e snapshots
* value may not be null
* update plugins spec
* correct cookie expiry, use browser.getversion for CDP version check
* fix snapshotting for require stacks
* reorder cookies in spec
* warn when depreated electron callback apis are used
* only report 1 plugin error per process
* cleanup
* node 12.4.0, cypress/browsers:node12.4.0-chrome76 docker image
* update shell.openExternal to promisified
* update dialog.showOpenDialog to promisified
* update webContents.session.setProxy to promisified
* updating native dependencies since we don't need ancient node ABI support anymore
* WIP: switch cookies to simpler, jar-less approach
* WIP: switch cookies to simpler, jar-less approach
* making tests pass
* improve cookie filtering logic
* Remove unneeded Promise.try
* filter what makes it to the extension
* properly re-set superdomain cookies on cross-origin cy.visit
* allow comma-separated list of e2e tests
* sort cookies in order of expiration date, ascending
* updating tests, cleanup
* update tests
* version electron as a devDependency, electron@6.0.1
* cleanup, remove old automation
* cleanup, remove old automation
* bump chokidar to fix win10 + node12 issue
was seeing this on windows:
https://github.com/nuxt/nuxt.js/issues/6035
fixed with version bump
* enable now-supported quit role, re-enable old tests
* don't need that arg there
* remove last deprecated callback electron invocations
* Delete cypress.json
* responding to PR feedback
* cleanup
* invoke
* use 'quit' role
* Use new appMenu role for Cypress menu on mac
* electron@6.0.2
* electron@6.0.3
* remove domain: cookie.domain and see what happens
* remove setErrorHandler
* Revert "remove domain: cookie.domain and see what happens"
This reverts commit 49e916896d.
* add unit tests for cookies
* ci
* fix project-content css
* electron@6.0.4
* fix specs_list test
* electron@6.0.7
* some cleanup
* electron@6.0.9
* Update 8_reporters_spec.coffee.js
* electron@5.0.10 - Chromium 73, Node 12
* cli: fix the STDIN pipe on Windows (#5045)
* cli: pipe stdin
* uggh, here is the actual change
* update cli unit tests
* add unit test
* more permissive check for json to include application/vnd.api+j… (#5166)
* more permissive check for json to include
* add json test for content-type application/vnd.api+json
* cruder solution passes e2e tests locally, so let's go with that
* Remove 'charset' from content-type before checking if JSON
* fix eslint for fixture specs (#5176)
* update eslint to lint files within 'fixtures' in support files
- ignore some edge cases like jquery, jsx and obvious js files we wrote
with broken code
* Fixes from eslint to 'fixtures' files
* Catch env variable with reserved name CYPRESS_ENV 1621 (#1626)
* server: check CYPRESS_ENV variable when merging configs
* catch invalid CYPRESS_ENV value in CLI, close#1621
* linting
* sanitize platform in test snapshot
* linting
* update error message text
* add missing comma
* fix finally merge in JS code
* pass CLI linter
* fix log reference, should be debug
* use correct sinon reference
* update message, show first part in red
* update error message text
* Addresses #2953 (#5174)
* Addresses #2953
* Added proper test for new error message
* Didn't realize it ran this test as well, whoops
* Implementing changes as suggested by @jennifer-shehane
* Fixing tests and error output. Moved the checks to the start of the get command to ensure we always catch improper options
* Removing issue test since the querying spec covers it
* Using coffescript isArray check
* depromisify things that were promisified b/t electron 5 <=> 6
Revert "update shell.openExternal to promisified"
This reverts commit 8b6460d015.
Revert "update dialog.showOpenDialog to promisified"
This reverts commit 5f178b075b.
Revert "update webContents.session.setProxy to promisified"
This reverts commit 727df3a4e5.
* node12.4.0-chrome76 => node12.0.0-chrome75
* fix tests for electron downgrade
* node12.0.0-chrome75 => node12.0.0-chrome73
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* 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>
* 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]
* if download has checksum use it to verify downloaded file
* check only filesize if no checksum available
* add download tests
* move checksum into util for reuse, be explicit
* add comments explaining headers used to verify checksum
* move hasha to dev dependency
* remove unnecessary function
* do not use deprecated Promise.join with spread
* fix promise join callback
* linting
* 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
* chore: add utility method to get konfig from scripts tests
Local scripts specs should be be caught by the changing current
directory when loading `konfig.coffee` (which loads `cwd.coffee`,
which changes the cwd to `packages/server`). This was throwing
snapshot tests into saving into a wrong folder until I have noticed
this and fixed in
[v8.0.3](https://github.com/bahmutov/snap-shot-core/releases/tag/v8.0.3)
* linting
* add more comments
* 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
* 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>
* 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>
* 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>
* 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
* 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
* wip [skip ci] update
* wip [skip ci] update test
* [skip ci] fix env var
* bump sinon, create helper utility to always throw when a stub is called without being given stubbed behavior
* update failing specs
* fix some error messages
* update snapshot
* warning -> note, add snapshot tests
* change snapshot os.release, test env vars
* set set-next-ci-version script command
* use current package.json version when asking for next one
* showing actual error response from buildkite
* rename .aws-credentials.json to just aws-credentials.json file
* rename aws_credentials_json on appveyor
* 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