Commit Graph

64 Commits

Author SHA1 Message Date
Jennifer Shehane
46e9b30660 Update requirements to run Cypress locally to include python install. [skip ci] (#16204) 2021-04-26 18:49:13 -05:00
Jessica Sachs
a4bef60e2a chore: cherry-picking conditional CI changes into master and fixing releaserc.js (#15571)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2021-03-18 20:59:57 -04:00
Jennifer Shehane
d945728e78 chore: TR-479 Remove decaffeinate tasks (#14586) 2021-01-21 22:51:46 +06:30
Kevin Grüneberg
0bf602c56d chore: Replace deprecated node-sass (#14409) (#14415)
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jessica Sachs <jess@jessicasachs.io>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2021-01-11 10:35:00 -05:00
Paulina Wilk
e12e178248 docs: links to issue template in contributing guideline (#9741)
* issue-9740 fix links to issue template in contributing guideline

* Update template links query params

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2020-12-14 12:48:47 +06:30
Martin Staffa
d5eadc23ae docs(contributing.md): remove "Testing" toc entry (#9198)
The Committing > Testing section was removed in 5842d1dffe
2020-11-16 08:53:43 +06:30
Zach Panzarino
5842d1dffe build: conditional CI jobs, dynamic test requirements for release, updated independent package release process (#8730) 2020-10-28 18:03:28 -04:00
Jessica Sachs
1b3d39b760 docs: fixing the diagrams in CONTRIBUTING.md 2020-09-29 21:06:59 -04:00
Zach Panzarino
156a626b7f docs: update internal docs for monorepo (#8688)
Co-authored-by: Jessica Sachs <jess@jessicasachs.io>
2020-09-29 20:30:22 -04:00
Gleb Bahmutov
0c30744089 chore: adding section on common issues with links (#8583) 2020-09-17 11:43:37 -04:00
Gleb Bahmutov
17e99b0dab chore: expand browsers component spec (#8286)
Co-authored-by: Zach Bloomquist <github@chary.us>
2020-09-11 09:49:07 -04:00
Jennifer Shehane
1690d41d76 docs: Update triage for actions taken for questions (#8207)
We do not offer premium support anymore.
2020-08-07 11:56:05 +06:30
Jennifer Shehane
e1f9c80594 docs: Update contributing to mention titling PRs with semantic-release (#8125)
* Update contributing to mention titling PRs with semantic-release

* Update CONTRIBUTING.md link
2020-07-31 02:38:21 +06:30
Zach Bloomquist
0e632635cd chore: rm non-test-related coffeescript references 2020-06-10 10:49:31 -04:00
Jennifer Shehane
eed4934885 chore: move instructions for code reviews into Contributing guide (#7630) 2020-06-09 09:18:54 -04:00
Zach Bloomquist
1875027073 chore: decaffeinate server tests, scripts, other files (#7591) 2020-06-05 15:12:53 -04:00
Jennifer Shehane
208b01cb1f Add note to contributing about yarn bug + instructions for adding on links (#7384) 2020-05-20 10:55:13 +06:30
Jennifer Shehane
166aab4077 Updated contributing and PR review comment to recommend Draft P… (#7085) 2020-04-21 13:35:04 +06:30
Cecelia Martinez
4b75da5963 fixes broken links and typos outlined in issue-6373 (#6396)
* fixes broken links and typos outlined in issue-6373

* updates additional link for issue-6373

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2020-02-11 22:40:48 +06:30
Andrew Smith
0a6a2abcec Replace npm with yarn (#5555)
* enable using yarn

* enable lerna and yarn workspaces

No longer can reliably access node_modules via thei node_modules directory; yarn may optimize it via hoisting it up. This meant updating JS tasks that were copying files directly from node_modules directories. In these cases, pulled in a new package to resolve these correctly.

SCSS files remain impacted, but cannot easily import via JS. These paths have been modified, but it feels dangerous and incorrect to reach into a node_module to grab files like this.

Many prebuild steps were removed. I **think** the purpose of `check-deps-pre` is no longer needed, but need to confirm this.

* enabling test-unit script

removal of pretest-unit due to check-deps-pre

* removal of all  `check-deps` and `check-deps-pre`

I do not think these are needed anymore

* remove npm run all

Replaced by `lerna run` and `lerna run --scope`

* use yarn in circle CI

appveyor to soon follow

* yarn in appveyor

* remove need for bin-upplaces using bin-up have a dev dependency on some package; mostly mocha. This mocha package will be optimized by yarn workspaces by hoisting it into the root; which is effectively what bin-up usage was mimicing.

* replace npm run with yarn in package files

* replace explict paths to internal packages with yarn bin

* remove unecessary link packages script and references

* properly require package for mocha

* removing yarn test in this package as it was just a proxy for test-*

* yarn test in root now reflects what is run in circle ci

* relax yarn version requirement for circle ci

* @packages/cli is really just cypress

also run test in parallel via `yarn test`; it runs test in all 10 packages

* ensure postinstall is called before prebuild

yarn does not call postinstall when nothing has installed; such is the case when everything has been cached

* vscode config uses yarn

* cannot rely on which node_modules dir a package is in

find the right node_module dir via `resolve-pkg`

* further relax yarn version for OSX build in circle ci

* resolve failing test

Regarding direct access to node_modules

* node version in mac build not sufficient

ignoring check of node/yarn versions when installing

* preinstall script does not exist

I **think** the reason to not install packages' modules (the reason for `--ignore-scripts` may be irrelevant with yarn workspaces managing the packages)

* upgrade mocha that was using --file

`--file` was introduce in >=5

* scope test runs to correct packages

* explictly close connections; otherwise script hangs after tests run

* refactor so npm and npx commads can be created

npx is used to utlize lerna for running across all packages sans cli

* properly resolve socket.io-client node_module

We cannot reach directly into node_modules to grab the socket.io-client file. Furthermore, running it locally will require resolving from a different cwd, the repo root, as opposed to the package's dist directory.

The existence of the file deterimes whether we are building the binary or running locally.

* remove unnecessary arg in vscode debug config

enable debugging in @packages/server to troubleshoot failing test

* another npm command found to be changed to yarn

* properly print colors to terminal

`lerna run` does not appear to print colors to the terminal properly. Changed to leverage `lerna exec`

See https://github.com/lerna/lerna/issues/1168

* add missing test scripts to packages that have partially have them

'test', 'test-unit', 'test-watch', and 'test-debug'

This makes running them from the root easier and enables debugging via IDE on more packages

* properly patch package in yarn workspaces

* another package needing to postinstall

* use existing script over explicit lerna exec

* patches must be copied to dist

* return to building on postinstall

* do not hoist driver's packagesThere are too many places we need driver's packages to not be hoisted when testing. We have *.html files in test with script tags srcing node_modules.

* wait-on is used in circle-ci and needs to be a root dep

No longer hoisted by `@packages/driver`. This previously worked only because it was hoisted. Adding it to root properly.

* update documentation based on new ergonomics

* launcher has unit tests that should be runnable via top level task

* more concise way to run build within cypress scope

* fix for unit test that never seemed to work

`getPathToExample` is really `getPathToExamples`

* bust cache based on yarn.lock changing

* define intra-dependencies among packages

Due to the way we build the binary, all are considered dev dependencies.

* address `jquery.scrollto` mismatched jquery version

Tell yarn to explicitly resolve `jquery@3.1.1` for any dependencies and sub-dependencies. The root issue is that `jquery.scrollto` package specifies jquery as a dependency instead of a peer dependency (which is correct). Its jquery version is set to the `>=1.8` which then resolves to 3.4.1. In doing so, it will patch its jquery instead of ours; meaning that `$.scrollTo` is not defined.

* add/remove deps from renovate

- bin-up is gone in favor of yarn workspaces and lerna from root
- check-deps is gone in favor of `yarn check --integrity`
- lerna added

* few misc yarn lock updates

* hope that this may speed up build binary

installing several of the same dep in >1 package will likely be sped up using yarn due to its machine-wide caching.

* yarn pack prefix version with a `v`

* auto-run `yarn install` when deps become out of date

When switching to a branch with a different set of required deps, running any of the main top level tasks (as seen in the `./CONTRIBUTING.md` guide) will check for deps changes via `yarn check --integrity` and run `yarn` in root if deps are out of sync.

* add clean top level task, remove prebuild

install => build => prebuild => check => install === no good

* address code review to undo formatting changes

* favor default imports over deconstructing imports

* favor @package resolution; pr feedback

* include a specific revision

for some reason, it cannot resolve the original SHA `29dafed297142d3b8a9d8a01842cbdf249a98b72`

using the next closes SHA

* properly cache yarn packagesfollowed guide: https://circleci.com/docs/2.0/yarn/

* lower barrier for contributors to get started

relax node version to be 12.0.0 or higher; will use node version found in `.node-version` in CI

* updates required after merging latest development

was getting type errors when building. recreating the `yarn.lock` file seemed to resolve the issue.

* hidden dep on a specific type version in server

made dep explicit and now it can build.

* update request to patched version

non-breaking changes to request was updated in server, but not everywhere else. It appears that transitive deps were using the 2.88.0 request version instead of the updated one for the server package.

* missing commit from previous commit/merge

* do not force a higher version of yarn than the default on circleci

* exclude e2e.js helper from stop-only command

* trying to bust node_modules cache.https://github.com/yarnpkg/yarn/issues/6412#issuecomment-537787740

* incorrect quotation tick placement

* fix: properly postinstall parse-domain

Do not explicitly script the shell invocation of a dependency's postinstall (parse-domain). The dependency's node_modules may not be where the package thinks they are and are not properly resolved.

It appears that postinstall will automatically be called when installing with yarn.

* run all CI stages

* fix win-appveyor-build.js

* Update CONTRIBUTING.md

Co-Authored-By: Zach Bloomquist <github@chary.us>

* Update CONTRIBUTING.md

Co-Authored-By: Zach Bloomquist <github@chary.us>

* Update CONTRIBUTING.md

Co-Authored-By: Zach Bloomquist <github@chary.us>

* Server package watching a specific test works correctly.

* PR feedback

* Correctly use yarn to pack (to get package size)

* correct size calculation

`yarn pack` does not output the file name like `npm pack` does. Correct this by explictly setting the filename.

* PR feedback

* PR feedback

* update readmes and testing commands from them

* do not include this in default build

* yarn is now installed by default

https://github.com/appveyor/ci/issues/1852

* do not include server in `yarn` auto build

* a few more npm references changed to yarn

* Revert "run all CI stages"

This reverts commit 9256aed99f.

* Update circle.yml

Co-Authored-By: Zach Bloomquist <github@chary.us>

Co-authored-by: Zach Bloomquist <github@chary.us>
2020-02-11 12:40:07 +06:30
Ryan Sherer
8f4137c2d2 Update ISSUE_TEMPLATE.md path inside CONTRIBUTING.md (#5962)
ISSUE 5926: Update ISSUE_TEMPLATE.md path inside CONTRIBUTING.md

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2019-12-23 13:45:09 +06:30
Josef Biehler
75befb05cf add hint for windows user to enable them to contribute, too, wi… (#5902)
* add hint for windows user to enable them to contribute, too, without too much workarounds

* adjust message

* add a little formatting, clean up wording


Co-authored-by: Zach Bloomquist <github@chary.us>
2019-12-19 13:13:55 +06:30
Santosh Yadav
932f859c31 docs: move contributing and code of conduct (#5881) 2019-12-06 23:31:35 +06:30
Gleb Bahmutov
2ea77db35a Collect GitHub templates in .github folder (#5701)
* move github templates into .github folder

* move code of conduct

* add pull request review comments

* fix a few missed links to newly moved github resources


Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2019-11-18 15:32:41 -05:00
Jennifer Shehane
6cbb913f76 Update triaging. Explain handling issues about Dashboard features 2019-10-24 13:27:48 -04:00
Gleb Bahmutov
da9a747dd9 Merge branch 'master' into develop 2019-10-23 17:09:58 -04:00
Jennifer Shehane
c1416035e9 Add better instructions on how to run locally in docker [skip-ci] (#5387)
* Add better instructions on how to run locally in docker [skip-ci]

* Apply suggestions from code review
2019-10-17 16:27:31 -04:00
Gleb Bahmutov
a877474df1 Connect to Chrome Remote Interface when launching Chrome and re… (#4628)
* try connecting to chrome remote interface

* linting

* print CRI targets for better debugging

* linting

* load empty tab first when connecting to CRI

* first load blank page, then navigate

* Page.navigate is working

* linting

* remove title

* add mocha banner

* more banners

* update some server unit tests

* update integration test

* document how to run single driver spec file

* set the focus back on the page before navigating from blank chrome tab

* update server unit test

* do not store Chrome remote interface reference for now

* record video of the Chrome tab using screencast API

* use dynamic port to connect to Chrome remote interface

* update unit tests

* refactoring

* wrap chrome remote interface in our interface, limit access to send

* resolved merge

* fix reference

* passing run unit spec

* stub canary search for CI to pass

* add build step to packages/server

* update chrome spec

* do not build js on install for server

* updated spec snapshots

* update 6_visit_spec snapshot

* update snapshot for 6_web_security_spec

* update snapshot for 3_plugins_spec

* update snapshot for 3_user_agent_spec

* update snapshot for 5_stdout_spec

* update snapshot for 2_browser_path_spec

* do not git ignore js files, add note why

* update several snapshots with video on Chrome

* update visit performance snapshot

* add chrome-remote-interface dependency

* cleanup coffeescript conversion to JS, fix some type errors, make parallel override clearer

* fix failing tests

* Fix snapshot - now we do record in Chrome, so warning message is no longer there.

* remove chrome warnings about not recording from snapshot

* Remove performance tests from 6_visit_spec snapshot

* Remove error from snapshot

* Add newline back to cy_visit_performance_spec snapshot

* Navigate to about:blank

* look for blank page url

* add note about avoiding Prettier

* disable prettier a little more

* call chrome remote interface close after each spec

* return promise when starting screencast

* update failing unit tests, add cri client close test

* update integration test

* Add verbose debug statements to cri-client

* Use connect.createRetryingSocket for CDP connection

* record video from chrome browsers

* add method for validating browser family

* update e2e spec snapshot

* update 4_request_spec snapshot

* update snapshot for spec 1_commands_outside_of_test_spec

* update snapshot for 3_plugins_spec

* update snapshot for spec 3_user_agent_spec

* try: Always log video capturing errors

* update snapshot for 2_browser_path_spec

* update snapshot for 2_cookies_spec

* better browser family test

* update snapshot for 5_stdout_spec

* update snapshot for 5_subdomain_spec

* Add protocol_spec tests

* do not capture video during performance test

* Add test for VIDEO_POST_PROCESSING_FAILED warning

* use client.on to register screencast callback

* cleanup prettier, extract some functions, switch to browser.family

* moar cleanup and fixes

* add logging to the cri-client so we can see every message sent + received to the cdp protocol

* bump bluebird to 3.7.0 for .tapCatch addition

* Fix unit tests

* WIP: update e2e test to ensure that duration of the video matches what we expect

* Test duration of recorded video

* Run 6_video_compression in chrome + electron

* Cleanup

* finish ffmpeg duration verification

* Update 8_reporters_spec snapshot

* Update CRI close logic to monkey-patch browser.kill

* add isBrowserFamily back

* make it possible for remote-debugging-port to get overridden

* Make CDP timeout 5s; add unit, e2e tests for CDP failure; add user-friendly CDP failure error

* Update tests

* Use CYPRESS_REMOTE_DEBUGGING_PORT to set CDP port; update CDP error message


Co-authored-by: Brian Mann <brian.mann86@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Zach Bloomquist <github@chary.us>
2019-10-11 18:36:05 -04:00
Jennifer Shehane
2944be19a0 Contributing guide pr updates (#5353)
* [skip-ci] Add some of new Pull Request and Pull Request Review process to Contributing guide

* More updates to the Guidelines / dep updates and minor changes that were outdated.
2019-10-11 12:14:46 -04:00
Gleb Bahmutov
4ec77e3d58 use Node path from config file to run plugins (#4436)
* use Node path from config file to run plugins

* add finding system node

* memoize node find, use fix-path if Node is not found

* find Node asynchronously

* update note on ENFILE

* print node version before executing registered event

* use nodeVersion option, add validator isOneOf

* linting

* remove resolve-dir

* debugging unit test

* resolve original promise to make the tests run correctly

* update second test

* add unit tests

* upgrade snap-shot-it package to be able to update snapshots

* make finding node path part of startup, merge into config

* update tests

* add node version & path to run output

* add node version display to desktop-gui

* add warnings, add tests, add learn more link in desktop-gui

* Revert "add node version & path to run output"

This reverts commit 40a3218175.

* only show Node Version if it is non-default

* Add e2e test for using system node

* cleanup

* add tests that resolvedNodePath and Version are available in tests

* assert nodeVersion == system

* add nodeVersion to schema

* add new configoptions to types

* add fallback if pluginsfile is disabled

* new package.json sorting

* update some of the wording/styling of Node Version panel

* remove ` from schema file

* clean up decaffeinated tests + update wording when no pluginsfile is present

* playing with messaging.

* push updated node version panel design

* update design + copy of Node panel again

* some more iteration on design (WIP)

* Finish design changes + fix tests

* add debug message

* linting problems

* add missed require

* Add comment to refactor the colWidths in this PR after another PR goes

* replace the exact length of Node version in specfiles

* print object for node version and path instead of %s %s

* update snapshot to match v12 length


Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2019-10-01 17:08:11 -04:00
Matt Charlton
dc251cc5d6 Update CONTRIBUTING.md to include more info on adding a blog (#4976)
* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
2019-08-13 18:42:58 +08:00
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
Jennifer Shehane
deb0f47ca5 Update contributing guidelines + PR template [skip ci]
- Add a LOT more information into triaging issues - why we may close an
issue, what to do when you are faced with common situations of people
opening issues.
2019-07-11 11:05:38 +06:30
Gleb Bahmutov
b21918921b move close too quick check into CLI (#4186) 2019-05-13 17:08:33 -04:00
Gleb Bahmutov
d25cfacc6f Automatically retry verify and run commands on Linux if suspect DISPLAY problem (#4165)
* 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
2019-05-13 15:19:53 -04:00
Gleb Bahmutov
3103eba759 add renovate json file (#2992)
* add renovate json file

* separate major version upgrades

* add labels to renovate PRs

* labels should be a list
2018-12-27 09:51:03 -05:00
Chris Breiding
622ddef78e Fix beforeSpecRun is not a function error (#2419)
* check beforeSpecRun is maybe a function for #2401

* override parallel to be false when a forked pr run
2018-08-30 17:15:29 -04:00
Eirik Birkeland
b305018ba1 Typography update: CONTRIBUTING.md (#1518)
* Update CONTRIBUTING.md

I try not to make opinionated/controversial changes. Please let me know if you disagree with any changes. Thanks!

* Update CONTRIBUTING.md
2018-03-30 15:02:01 -04:00
Jennifer Shehane
1251fce0de Added section "Triaging Issues" to Contributing doc [skip ci] 2018-03-12 13:26:35 -04:00
Jennifer Shehane
8e205410a9 clean up some of contributing guide to not be as noisy [skip ci] 2018-02-06 15:49:40 -05:00
Brian Mann
bc6d8f0a4d cli: fixes #838 start cypress in dev by routing through the CLI (#1106)
* 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, server: fixes failing tests
2017-12-24 15:05:29 -05:00
Thomas Broadley
d503ce2004 docs: fix typo (#1116) [skip ci] 2017-12-21 11:01:07 -05:00
Jennifer Shehane
26de281aa9 Fixing toc + editing [skip ci] 2017-12-07 11:31:20 -05:00
Brian Mann
8033fbf819 Issue 995 (#996)
* better explain contributing to the driver

- update npm tasks to reflect newest conventions

* better explain contributing to the desktop-gui

- update npm tasks to reflect newest conventions

* synchronize content changes

* capitalize all package readme's for consistency

* better explain contributing to the runner, synchronize content changes

* better explain contributing to the server

* synchronize content

* synchronize content

* synchronize content

* synchronize content

* synchronize content

* synchronize content

* better contribution guidelines by redirecting users to package specific readme's

* synchronize content

* fix various content mistakes

* simplify contributing

* removed dead files

* bump zunder

* lock zunder to 5.1.0
2017-12-02 18:51:42 -05:00
Jennifer Shehane
83c671a92d Moved code of conduct to main dir (#855)
- updated CoC to version 1.4 of Contributor covenant.
- updated link in Contributing doc to new CoC.
2017-10-30 16:48:29 -04:00
Jennifer Shehane
ab7fc8515b Added note about naming branches off of issue being addressed 2017-10-25 10:35:09 -04:00
Paul Falgout
3e793da9d3 Renamed cypress-monorepo to cypress
It looks to me like the repo was renamed and that these needed to be updated?
2017-10-20 16:18:48 +09:00
Jennifer Shehane
829f5988e5 Driver contributions, close #763
* remove empty test scripts

* Update contributing guide to include more specific instructions for the driver

- Move CI status within the TOC
- Add ‘driver’ to ‘Working in specific package’ section
- some minor link / wording fixes
- added wording around our labels.

* remove 'run test' task for coffee

* Jazz up the readme

- Add ‘why cypress’ video
- Add a bunch of badges
- Add ‘install cypress’ section that refers to docs
- Add a nice logo at the top.

* updates

* remove desktop-gui unit test task from ci
2017-10-18 19:43:38 +00:00
Randall Kent
2c99f966a7 Update Windows CI Badge 2017-10-12 13:43:00 -04:00
Andrew Van Slaars
b74695b49b Added instructions to allow edits from maintainers 2017-10-10 11:31:10 -04:00