Commit Graph

226 Commits

Author SHA1 Message Date
Gleb Bahmutov
edc7b4c453 print more info when checking built version 2019-05-02 17:35:42 -04:00
Gleb Bahmutov
6f685ab8b8 add metadata to the uploaded test runner binary (#4092)
* 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
2019-05-02 12:29:37 -04:00
Gleb Bahmutov
ebaa7a375c Copy test runner binaries before releasing new version (#4082)
* 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
2019-05-01 10:14:25 -04:00
Gleb Bahmutov
5015cbbe87 Wrap konfig load from scripts tests to avoid changing CWD (#4067)
* 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
2019-04-29 17:14:38 -04:00
Zach Bloomquist
47e98fa1d0 Use 'platform-arch' naming scheme for downloads (#3998)
* 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
2019-04-29 12:27:41 -04:00
Chris Breiding
b8f0257958 Upgrade to electron 2.0.18 and node 8.9.3 (#4001)
* 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>
2019-04-25 19:55:15 -04:00
Gleb Bahmutov
c55cc089ef put platform and arch into commit message status object 2019-04-19 12:53:10 -04:00
Brian Mann
b1adbda0ca provide context in the status commit message 2019-04-18 08:16:16 -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
Gleb Bahmutov
4bcc094623 create status check after building binary (#3967)
* 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>
2019-04-17 20:51:19 -04:00
Gleb Bahmutov
1afc5d1929 do not upload and test Windows binary on AppVeyor for PRs 2019-04-11 17:06:50 -04:00
Gleb Bahmutov
9a605c4df3 chore: put arch into test commit subject
Need both platform and arch name in the commit to the test repos.
2019-04-11 10:39:54 -04:00
Gleb Bahmutov
a793b09e38 switch to use @cypress/commit-message-install 2019-04-09 15:04:09 -04:00
Gleb Bahmutov
8968e7fc87 Add arch to commit message install (#3923)
- add `arch` and `status` fields to the commit message when testing other projects
- status is needed to enable GitHub commit status checks for this build
- renamed a couple of test jobs

Example commit message with this change in 61c24b2000

<img width="1011" alt="Screen Shot 2019-04-09 at 11 39 31 AM" src="https://user-images.githubusercontent.com/2212006/55814270-2c97ad00-5abc-11e9-8a6d-27fcec214130.png">
2019-04-09 11:56:48 -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
Zach Bloomquist
5a0d8b5cfe Allow passing a list of space-separated specs to --spec (#3375)
* cli: add otherSpecs for varargs [wip]

* scripts: pass command-line args through to debugged command

* cli: parse space-delimited specs

* cli: undo unneeded

* cli: cleaned up parseVariableOpts, added warning

* cli: cleanup

* cli: add tests

* cli: glorious whitespace

* cli: a more robust test

* cli: better snapshot

* server: strip single-quotes around --spec arg

#2298
2019-03-15 00:42:46 -04:00
renovate[bot]
40de6c55c7 chore(deps): update dependency nodemon to version 1.18.10 🌟 (#3408)
* 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>
2019-02-14 14:27:11 +06:30
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
b5b41febf1 Build osx on circle 2958 (#2978)
* 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
2018-12-21 16:43:47 -05:00
Gleb Bahmutov
6cdaa5b4ef No dev deps in windows binary 2896 (#2904)
* 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
2018-12-17 00:10:54 -05:00
Brian Mann
9edc8b921c don't ask to commit package.json version 2018-11-14 20:01:32 -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
d6046ba20b use cypress parallelism, enable konfig process.env overrides, (#2328)
fixes #2325
2018-08-13 07:22:12 -04:00
Brian Mann
18485538fd math derp, increase size again 2018-08-06 08:25:41 -04:00
Brian Mann
ff87a47b2e increase zip sizes 2018-08-06 08:03:44 -04:00
Amir Rustamzadeh
f313dd0b84 iterate through specs in parallel (#2154)
- fixes: #2153
- fixes: #1566
- fixes: #1690
- fixes: #2275
- fixes: #2276
2018-08-06 07:24:19 -04:00
Brian Mann
eda664891a increase allowed zip size... again
@Bkucera probably want to look at this again
2018-06-18 03:16:27 -04:00
Brian Mann
fc1cf4a144 fix failing build script 2018-06-18 02:56:44 -04:00
Brian Mann
b7756cff3f bump max size for windows zip 2018-05-29 08:22:40 -04:00
Brian Mann
64f2b15824 bump max size of zip 2018-05-29 08:22:40 -04:00
Brian Mann
a4dcac6c5d update schemas and runs fixture, @jennifer-shehane can you update the desktop gui views? thx (#1776)
* 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
2018-05-25 13:09:26 -04:00
Brian Mann
1d0b35bd47 Cli env var changes (#1734)
* 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
2018-05-19 15:37:52 -04:00
Jennifer Shehane
8ec87e9cdb Issue 1601 - Update runs tab to match new api schemas (#1604)
* 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
2018-04-23 16:26:40 -04:00
Gleb Bahmutov
586d677b3d ci: use Node 8.2.1 to build binary on Windows CI #1390 (#1391)
* 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
2018-02-28 15:37:43 -05: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
d6c944ef0e scripts: set absolute path to spec 2018-02-08 13:24:41 -05:00
Brian Mann
001a310b04 Issue 1159 (#1259)
* 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]
2018-02-07 12:11:24 -05:00
Oliver Forral
80456ea8dd Fixed misspellings of Cypres to Cypress in comments (#1198) 2018-01-17 16:34:24 -05:00
Brian Mann
d54156e2f2 cli, fixes #921, #1113, #1126, #1127, make DEBUG logs work, show error when xvfb exits with status code 1, force tty in linux, handle colors in windows, enable logging cypress:xvfb stderr
* 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
2017-12-24 19:03:57 -05:00
Gleb Bahmutov
a559801eb2 ci: pass commit into commit message to test projects (#1076)
* ci: pass commit into commit message to test projects

* build: remove this branch from testing binary
2017-12-15 15:34:31 -05:00
Gleb Bahmutov
e3e1a5fe15 build: make empty commit in next version branch first, close #1070 (#1071)
* build: make empty commit in next version branch first, close #1070

* build: add branch name = version to commit message
2017-12-14 14:49:15 -05:00
Brian Mann
5de8602f38 use chrome62 docker image 2017-12-06 17:41:18 -05:00
Gleb Bahmutov
f6e87c97ad Allow http download url 1001 (#1004)
* fix: allow http: download url, close #1001

* linting

* relinting JS files
2017-12-04 14:28:29 -05:00
Brian Mann
d3727f3e48 root: use platform ref [skip ci] 2017-11-20 00:44:21 -05:00
Gleb Bahmutov
79d7c8a249 Do not set env vars to kickoff (#923)
* do not set any shared environment vars on test projects

* rename .ci.json to ci.json
2017-11-16 14:47:58 -05:00
Gleb Bahmutov
cbf1da0802 Separate bump next version command (#922)
* 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
2017-11-16 14:12:30 -05:00