* 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
* 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>
* 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>
* chore(deps): update nodemon to 1.18.10 🌟
* remove nodemon - this is no longer used
* update test for including devdeps to reference another dev dep that we use
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* 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
* update schemas and runs fixture, @jennifer-shehane can you update the desktop gui views? thx
* update runs list view to match updated api schemas
* fix humanTime refactor
* 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
* added 'object-schema' project, began updating fixture to match schema
* Update run display to match new api schemas
- add timer display component
- add some util functions
- update tests to actual test the run data
- capital cased some messaging in the runs
* desktop-gui: use json-schemas for testing
* remove only
* testing: copy integration artifacts on circle, close#1616
* rename api_schemas -> api_schemas_spec
* update more headings/buttons to have capital case text
- update some tests to be less brittle when text is changed.
* set timezone NYC
* ci: use Node 8.2.1 to build binary on Windows CI #1390
* use Node 8.2.1 on Mac buildkite
* add comment
* source bashrc
* print home folder
* do not source bashrc
* install nvm using curl
* back to nvm using bash_profile
* hmm, maybe it is using different shell
* hmm, login into bash
* remove nvm commands
* chore: add script to check Node version against .node-version
* 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
* server: pass --cwd from CLI to use when resolving relative paths for various options
- remove unnecessary cwd manipulation in scripts/start
* server: fixes#1159, specs are normalized into an array resolved against cwd
- projectPath is now normalized against cwd as well
* server: move hosts out of CLI args, keep as config only
* server: convert spec array to string on module API
* cli: must ref root package directly
* server: fixes busted specs due to cherry pick
* server: temporary fix for specs being normalized into an array
* server: move around spec flattening earlier
* server: pass absolute path for specs
* server: revert flattening hosts into config temporarily
* server: add correct relative + absolute path to spec
* driver: normalize spec path against project
* driver: skip flaky test for now [skip ci]
* cli: fixes#838 start cypress in dev by routing through the CLI
- matches how we run in production better to keep parity and consistency
* cli: add coerceFalse for clarity
* cli: add global flag, update to work with windows
* server: bring into parity with root scripts
* cli: just execute start script directly to work with windows
* cli: if colors are supported then force them via env vars
- this fixes windows not displaying colors from electron because by
default isTTY is false (due to electron)
* cli: fixes#921 don't ignore stderr, inherit stdio on everything except when linux + xvfb
- filter out stderr messages coming from Xlib or libudev (from xvfb)
* cli, server: force stderr tty so that normalize tty behavior when piping
* server: drop in supports color so debug outputs more colors!
* server: remove empty line
* root: refer to cypress not monorepo
* cli: make util.supportsColor return boolean
* cl: add tests around spawn behavior with forcing colors, tty, and stdio configuration
* cli: handle xvfb onStderrData callback to output debug information
* cli: handle non zero exit code error from xvfb with special message
* 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