Commit Graph

118 Commits

Author SHA1 Message Date
Ben Kucera
fbd523615e [internal] Lint typescript, json, new eslint rules (#4449)
* temp 07/01/19 [skip ci] main lint files

* use lint-staged scripts

* fix all auto-fixable eslint errors

* manually fix lint issues in files

* temp 07/01/19 [skip ci]

* bump eslint plugin versions, update circle.yml

* [lint fix] remaining js files

* update vscode/settings.json

* add back stop-only

* use stop-only for linting .onlys

* fix verify_spec, build_spec

* update json plugin

* relint & apply corrections

* fix appveyor.yml not cleansing env vars (very bad)

* dont echo commit message in appveyor script

* retry build &

* re-add & upgrade lint-staged

* update contributing docs

* only let stop-only catch staged changes
2019-07-12 13:59:44 -04:00
Gleb Bahmutov
c57d302176 Verify downloaded test runner zip file 812 (#4193)
* 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
2019-07-09 14:03:00 -04:00
Jennifer Shehane
13b5a0acda Prefer American spelling 'canceled' (#4676) 2019-07-09 21:15:04 +06:30
Gleb Bahmutov
e5106d95f5 test Mac build against other repos (#4527)
* test Mac build against other repos

* trigger projects again to confirm all work

* when triggering projects filter by platform too

* linting
2019-06-21 12:16:04 -04:00
Gleb Bahmutov
4ebd4b6b2b use latest github commit module version, print if we have variables set 2019-05-22 10:42:09 -04:00
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
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
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
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
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
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
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
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
Brian Mann
d6c944ef0e scripts: set absolute path to spec 2018-02-08 13:24:41 -05:00
Oliver Forral
80456ea8dd Fixed misspellings of Cypres to Cypress in comments (#1198) 2018-01-17 16:34:24 -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
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
Gleb Bahmutov
158c5d2945 Env file name (#853)
* scripts: only use filename to get environment variables

* rename to STAGING_RECORD_KEY
2017-10-30 13:56:20 -04:00
Gleb Bahmutov
03126cf6f7 show env variable keys if failing to load 2017-10-30 12:48:59 -04:00
Gleb Bahmutov
b7ff236060 enable buildkite cypress-test-example-projects 2017-10-30 11:50:22 -04:00
Brian Mann
d60f20d1dc @bahmutov plz add this to build kite, currently this does not work [skip ci] 2017-10-29 21:12:51 -04:00
Brian Mann
bda39b690b don't test the real example repos to prevent an excessive amount of CI runs [skip ci] 2017-10-29 21:01:08 -04:00
Gleb Bahmutov
7d13cf59ec Add ability to point built binary at staging, close #813 (#814)
* 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
2017-10-26 16:33:10 -04:00
Gleb Bahmutov
70fcee8c75 enable kitchensink and todomvc on appveyor 2017-10-25 13:54:27 -04:00
Gleb Bahmutov
3ecb17f788 print message on url save into file 2017-10-23 17:21:19 -04:00
Gleb Bahmutov
ea89080016 CIRCLECI env not CIRCLE 2017-10-23 16:09:27 -04:00
Gleb Bahmutov
6d64ca42d6 form upload hash from CI environment vars if not set 2017-10-23 16:01:04 -04:00
Gleb Bahmutov
f0814cc522 use bumpercar with buildkite that can split name 2017-10-23 15:30:35 -04:00
Gleb Bahmutov
bdd81f6047 fix providers checks 2017-10-23 13:46:03 -04:00
Gleb Bahmutov
0288801624 set configured providers 2017-10-23 13:08:37 -04:00
Gleb Bahmutov
928c13d992 build example kitchenksink on buildkite 2017-10-23 10:40:19 -04:00
Brian Mann
5c007badfe root: add additional tasks for committing release and updating repos with next dev version 2017-10-14 19:55:29 -04:00
Brian Mann
f8c84e9930 root: retry copying package into dist for random windows EPERM. remove unused driver/dist that was causing rejections 2017-10-10 04:48:28 -04:00
Brian Mann
09dc5573ac correct path to cf purge [skip ci] 2017-10-08 15:39:57 -04:00