Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/v5.0-release' into test-retries
Browse files Browse the repository at this point in the history
  • Loading branch information
kuceb committed Aug 10, 2020
2 parents 2fb38df + 9a1b4c6 commit cd1119b
Show file tree
Hide file tree
Showing 90 changed files with 2,426 additions and 1,179 deletions.
2 changes: 2 additions & 0 deletions .github/semantic.yml
@@ -0,0 +1,2 @@
# Always validate the PR title, and ignore the commits
titleOnly: true
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Expand Up @@ -117,7 +117,7 @@ Some opened issue are questions, not bug reports or feature requests. Issues are

- Explain that issues in our GitHub repo are reserved for potential bugs or feature requests and that the issue will be closed since it appears to be neither a bug nor a feature request.
- Guide them to existing resources where their questions can be asked like our [community chat](https://on.cypress.io/chat), our [documentation](https://docs.cypress.io), or [Stack Overflow](https://stackoverflow.com/questions/tagged/cypress).
- Cypress offers support via email when signing up for any of our our [paid plans](https://www.cypress.io/pricing/), so remind them that this is an option. Cypress also offers screen sharing and workshops with our [premium support options](https://www.cypress.io/support/) if they would like something higher-touch.
- Cypress offers support via email when signing up for any of our our [paid plans](https://www.cypress.io/pricing/), so remind them that this is an option if they already have a paid account.
- Add the `type: question` label to the issue.
- Close the issue.

Expand Down Expand Up @@ -518,6 +518,7 @@ The repository is setup with two main (protected) branches.

- When opening a PR for a specific issue already open, please name the branch you are working on using the convention `issue-[issue number]`. For example, if your PR fixes Issue #803, name your branch `issue-803`. If the PR is a larger issue, you can add more context like `issue-803-new-scrollable-area` If there is not an associated open issue, **create an issue using our [Issue Template](./.github/ISSUE_TEMPLATE.md)**.
- PR's can be opened before all the work is finished. In fact we encourage this! Please create a [Draft Pull Request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests) if your PR is not ready for review. [Mark the PR as **Ready for Review**](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review) when you're ready for a Cypress team member to review the PR.
- Prefix the title of the Pull Request using [semantic-release](https://github.com/semantic-release/semantic-release)'s format as defined [here](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type). For example, if your PR is fixing a bug, you should prefix the PR title with `fix:`.
- Fill out the [Pull Request Template](./.github/PULL_REQUEST_TEMPLATE.md) completely within the body of the PR. If you feel some areas are not relevant add `N/A` as opposed to deleting those sections. PR's will not be reviewed if this template is not filled in.
- Please check the "Allow edits from maintainers" checkbox when submitting your PR. This will make it easier for the maintainers to make minor adjustments, to help with tests or any other changes we may need.
![Allow edits from maintainers checkbox](https://user-images.githubusercontent.com/1271181/31393427-b3105d44-ada9-11e7-80f2-0dac51e3919e.png)
Expand Down
142 changes: 80 additions & 62 deletions DEPLOY.md

Large diffs are not rendered by default.

34 changes: 34 additions & 0 deletions circle.yml
Expand Up @@ -812,6 +812,40 @@ jobs:
path: /tmp/artifacts
- store-npm-logs

desktop-gui-visual-tests:
<<: *defaults
parallelism: 1
steps:
- attach_workspace:
at: ~/
- run:
command: yarn build-prod
working_directory: packages/desktop-gui
- run:
name: Desktop GUI server
command: yarn start
working_directory: packages/desktop-gui
background: true
- run:
# will use PERCY_TOKEN environment variable if available
# to tie Percy builds together, use environment variables
# https://docs.percy.io/docs/parallel-test-suites
# we can use workflow id and list number of jobs with Percy screenshots
# if we allow Percy snapshots in more jobs, use the same
# PERCY_* variables in all of them
# NOTE: we only execute specs with "cy.percySnapshot" commands in them
command: |
CYPRESS_KONFIG_ENV=production \
PERCY_PARALLEL_NONCE=$CIRCLE_WORKFLOW_ID \
PERCY_PARALLEL_TOTAL=1 \
yarn percy exec -- \
yarn cypress:run \
--spec cypress/integration/settings_spec.js,cypress/integration/specs_list_spec.js,cypress/integration/runs_list_spec.js
working_directory: packages/desktop-gui
- verify-mocha-results
# we don't really need any artifacts - we are only interested in visual screenshots
- store-npm-logs

desktop-gui-component-tests:
<<: *defaults
parallelism: 1
Expand Down
75 changes: 37 additions & 38 deletions cli/package.json
Expand Up @@ -20,44 +20,43 @@
"unit": "cross-env BLUEBIRD_DEBUG=1 NODE_ENV=test mocha --reporter mocha-multi-reporters --reporter-options configFile=../mocha-reporter-config.json"
},
"dependencies": {
"@cypress/listr-verbose-renderer": "0.4.1",
"@cypress/request": "2.88.5",
"@cypress/xvfb": "1.2.4",
"@types/sinonjs__fake-timers": "6.0.1",
"@types/sizzle": "2.3.2",
"arch": "2.1.2",
"blob-util": "2.0.2",
"bluebird": "3.7.2",
"cachedir": "2.3.0",
"chalk": "4.1.0",
"check-more-types": "2.24.0",
"cli-table3": "0.6.0",
"commander": "4.1.1",
"common-tags": "1.8.0",
"debug": "4.1.1",
"eventemitter2": "6.4.2",
"execa": "4.0.2",
"executable": "4.1.1",
"extract-zip": "1.7.0",
"fs-extra": "9.0.1",
"getos": "3.2.1",
"is-ci": "2.0.0",
"is-installed-globally": "0.3.2",
"lazy-ass": "1.6.0",
"listr": "0.14.3",
"lodash": "4.17.19",
"log-symbols": "4.0.0",
"minimist": "1.2.5",
"moment": "2.26.0",
"ospath": "1.2.2",
"pretty-bytes": "5.3.0",
"ramda": "0.26.1",
"request-progress": "3.0.0",
"supports-color": "7.1.0",
"tmp": "0.2.1",
"untildify": "4.0.0",
"url": "0.11.0",
"yauzl": "2.10.0"
"@cypress/listr-verbose-renderer": "^0.4.1",
"@cypress/request": "^2.88.5",
"@cypress/xvfb": "^1.2.4",
"@types/sinonjs__fake-timers": "^6.0.1",
"@types/sizzle": "^2.3.2",
"arch": "^2.1.2",
"bluebird": "^3.7.2",
"cachedir": "^2.3.0",
"chalk": "^4.1.0",
"check-more-types": "^2.24.0",
"cli-table3": "~0.6.0",
"commander": "^4.1.1",
"common-tags": "^1.8.0",
"debug": "^4.1.1",
"eventemitter2": "^6.4.2",
"execa": "^4.0.2",
"executable": "^4.1.1",
"extract-zip": "^1.7.0",
"fs-extra": "^9.0.1",
"getos": "^3.2.1",
"is-ci": "^2.0.0",
"is-installed-globally": "^0.3.2",
"lazy-ass": "^1.6.0",
"listr": "^0.14.3",
"lodash": "^4.17.19",
"log-symbols": "^4.0.0",
"minimist": "^1.2.5",
"moment": "^2.27.0",
"ospath": "^1.2.2",
"pretty-bytes": "^5.3.0",
"ramda": "~0.26.1",
"request-progress": "^3.0.0",
"supports-color": "^7.1.0",
"tmp": "~0.2.1",
"untildify": "^4.0.0",
"url": "^0.11.0",
"yauzl": "^2.10.0"
},
"devDependencies": {
"@babel/cli": "7.8.4",
Expand Down
5 changes: 5 additions & 0 deletions cli/schema/cypress.schema.json
Expand Up @@ -124,6 +124,11 @@
"default": "cypress/plugins/index.js",
"description": "Path to plugins file. (Pass false to disable)"
},
"screenshotOnRunFailure": {
"type": "boolean",
"default": true,
"description": "Whether Cypress will take a screenshot when a test fails during cypress run"
},
"screenshotsFolder": {
"type": "string",
"default": "cypress/screenshots",
Expand Down
10 changes: 6 additions & 4 deletions cli/types/cypress-npm-api.d.ts
Expand Up @@ -6,7 +6,7 @@
// in the future the NPM module itself will be in TypeScript
// but for now describe it as an ambient module

declare module 'cypress' {
declare namespace CypressCommandLine {
interface TestError {
name: string
message: string
Expand Down Expand Up @@ -332,7 +332,9 @@ declare module 'cypress' {
*/
parseRunArguments(args: string[]): Promise<Partial<CypressRunOptions>>
}
}

declare module 'cypress' {
/**
* Cypress NPM module interface.
* @see https://on.cypress.io/module-api
Expand All @@ -357,19 +359,19 @@ declare module 'cypress' {
})
```
*/
run(options?: Partial<CypressRunOptions>): Promise<CypressRunResult | CypressFailedRunResult>,
run(options?: Partial<CypressCommandLine.CypressRunOptions>): Promise<CypressCommandLine.CypressRunResult | CypressCommandLine.CypressFailedRunResult>,
/**
* Opens Cypress GUI. Resolves with void when the
* GUI is closed.
* @see https://on.cypress.io/module-api#cypress-open
*/
open(options?: Partial<CypressOpenOptions>): Promise<void>
open(options?: Partial<CypressCommandLine.CypressOpenOptions>): Promise<void>

/**
* Utility functions for parsing CLI arguments the same way
* Cypress does
*/
cli: CypressCliParser
cli: CypressCommandLine.CypressCliParser
}

// export Cypress NPM module interface
Expand Down

1 comment on commit cd1119b

@cypress-bot
Copy link
Contributor

@cypress-bot cypress-bot bot commented on cd1119b Aug 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Circle has built the linux x64 version of the Test Runner.

You can install this pre-release platform-specific build using instructions at https://on.cypress.io/installing-cypress#Install-pre-release-version.

You will need to use custom CYPRESS_INSTALL_BINARY url and install Cypress using an url instead of the version.

export CYPRESS_INSTALL_BINARY=https://cdn.cypress.io/beta/binary/5.0.0/linux-x64/circle-test-retries-cd1119b97d345fa27c9f8d1d4af9ff44ff593cdc-416349/cypress.zip
npm install https://cdn.cypress.io/beta/npm/5.0.0/circle-test-retries-cd1119b97d345fa27c9f8d1d4af9ff44ff593cdc-416346/cypress.tgz

Please sign in to comment.