Skip to content

Commit 9a94f0c

Browse files
committed
Merge branch '10.0-release' into tgriesser/refactor/error-improvements
* 10.0-release: (25 commits) fix(unify): improve dev server config ergonomics (#19957) feat: add spec pattern modal (#19801) fix: Windows e2e project scaffolding issues (#19938) feat: update @cypress/schematic to use proper e2e config for 10.0.0 (#19827) fix: correctly migrate projects with custom integration folder (#19929) fix: component spec creation with spec pattern (#19862) fix: missed committing yarn.lock after merge conflict fix: correct reference branch / commitSha in performance-reporter (#19941) feat: update navbar UI per Figma (#19926) fix: seed examples files when no e2e directory is created (#19768) chore: remove windy lightBlue warning test: component test updates (#19925) feat: Focus browser from select browser screen and on dashboard login (#19842) test: Honeycomb system-test reporter (#19855) fix(deps): update dependency engine.io to v5.2.1 [security] feat: Retain fileName when working with aliased fixtures and files (#19820) Update release-process.md Update release-process.md Update release-process.md Update release-process.md ...
2 parents 0805f4e + 6a402a7 commit 9a94f0c

File tree

178 files changed

+3285
-1972
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+3285
-1972
lines changed

.github/ISSUE_TEMPLATE/1-bug-report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ body:
2323
id: reproduction
2424
attributes:
2525
label: Test code to reproduce
26-
description: Provide a failing test or repo we can run. You can fork [this repo](https://github.com/cypress-io/cypress-test-tiny), set up a failing test, then link to your fork.
26+
description: Provide a failing test or repo we can run. You can fork [this repo](https://github.com/cypress-io/cypress-test-tiny), set up a failing test, then link to your fork. If you have never done this before, watch [this video](https://youtu.be/NnriKHmj5T8) for example.
2727
placeholder: Here is my failing test code and the app code to run the tests on...
2828
validations:
2929
required: true
@@ -39,4 +39,4 @@ body:
3939
id: other
4040
attributes:
4141
label: Other
42-
placeholder: Any other details?
42+
placeholder: Any other details?

circle.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2127,15 +2127,19 @@ linux-workflow: &linux-workflow
21272127
requires:
21282128
- build
21292129
- system-tests-chrome:
2130+
context: test-runner:performance-tracking
21302131
requires:
21312132
- system-tests-node-modules-install
21322133
- system-tests-electron:
2134+
context: test-runner:performance-tracking
21332135
requires:
21342136
- system-tests-node-modules-install
21352137
- system-tests-firefox:
2138+
context: test-runner:performance-tracking
21362139
requires:
21372140
- system-tests-node-modules-install
21382141
- system-tests-non-root:
2142+
context: test-runner:performance-tracking
21392143
executor: non-root-docker-user
21402144
requires:
21412145
- system-tests-node-modules-install

cli/types/cypress.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
/// <reference path="./cypress-npm-api.d.ts" />
22
/// <reference path="./cypress-eventemitter.d.ts" />
33

4+
// The new Awaited type added in 4.5 would work here, but we seem to need to
5+
// support older versions of Typescript
6+
type AwaitedLike<T> = T extends PromiseLike<infer U>
7+
? { 0: AwaitedLike<U>; 1: U }[U extends PromiseLike<any> ? 0 : 1]
8+
: T
9+
410
declare namespace Cypress {
511
type FileContents = string | any[] | object
612
type HistoryDirection = 'back' | 'forward'
@@ -2988,7 +2994,7 @@ declare namespace Cypress {
29882994
type DevServerFn<ComponentDevServerOpts = any> = (cypressConfig: DevServerConfig, devServerConfig: ComponentDevServerOpts) => ResolvedDevServerConfig | Promise<ResolvedDevServerConfig>
29892995
interface ComponentConfigOptions<ComponentDevServerOpts = any> extends CoreConfigOptions {
29902996
devServer: Promise<{ devServer: DevServerFn<ComponentDevServerOpts>}> | { devServer: DevServerFn<ComponentDevServerOpts> } | DevServerFn<ComponentDevServerOpts>
2991-
devServerConfig?: ComponentDevServerOpts | Promise<ComponentDevServerOpts>
2997+
devServerConfig?: ComponentDevServerOpts | AwaitedLike<Promise<ComponentDevServerOpts>>
29922998
}
29932999

29943000
/**

guides/release-process.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,13 @@ of Cypress. You can see the progress of the test projects by opening the status
6767
6868
![Screenshot of status checks](https://i.imgur.com/AsQwzgO.png)
6969
70-
Once the `develop` branch for all test projects are reliably passing with the new changes, publishing can proceed.
70+
#### :bangbang: Important :bangbang:
71+
72+
The `linux x64`, `win32 x64`, and `darwin x64` artifacts produced by CI are all placed in the same directory on the CDN. The version that was built last will overwrite the other versions in the directory. Until work is done to complete [#19771](https://github.com/cypress-io/cypress/issues/19771), you must ensure that the `linux` workflow publishes its artifacts **after** the `windows`/`mac` workflows. To guarantee this, you can re-run the `create-build-artifacts` job for the `linux` workflow within CircleCI after the initial builds have completed.
73+
74+
<img src="https://user-images.githubusercontent.com/1711637/150612076-ac1d233b-519a-443b-9fd4-950a8f0439ef.png" width="250" height="auto">
75+
76+
Once the `develop` branch for all test projects are reliably passing with the new changes and the `linux` binary is present at `https://cdn.cypress.io/beta/npm/X.Y.Z/<sha>/cypress.tgz`, publishing can proceed.
7177
7278
### Steps to Publish a New Version
7379
@@ -89,6 +95,7 @@ In the following instructions, "X.Y.Z" is used to denote the [next version of Cy
8995
![commit-link](https://user-images.githubusercontent.com/1157043/80608728-33fe6100-8a05-11ea-8b53-375303757b67.png)
9096
2. Scroll down past the changes to the comments. The first comment should be a `cypress-bot` comment that includes a line beginning `npm install ...`. Grab the `https://cdn.../npm/X.Y.Z/<long sha>/cypress.tgz` link.
9197
![cdn-tgz-link](https://user-images.githubusercontent.com/1157043/80608736-3791e800-8a05-11ea-8d75-e4f80128e857.png)
98+
- Make sure the linux binaries are present at that location. See [Before Publishing a New Version](#before-publishing-a-new-version).
9299
- Publish to the npm registry straight from the URL:
93100
94101
```shell
@@ -107,6 +114,8 @@ In the following instructions, "X.Y.Z" is used to denote the [next version of Cy
107114
- Run a quick, manual smoke test:
108115
- `cypress open`
109116
- Go into a project, run a quick test, make sure things look right
117+
- Install the new version into an established project and run the tests there
118+
- [cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app) uses yarn and represents a typical consumer implementation.
110119
- Optionally, do more thorough tests:
111120
- Trigger test projects from the command line (if you have the appropriate permissions)
112121

npm/cypress-schematic/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,7 @@ In order to bypass the prompt asking for your e2e spec name, simply add a `--nam
181181
ng generate @cypress/schematic:e2e --name=login
182182
```
183183

184-
This will create a new spec file named `login.spec.ts` in the default Cypress folder location.
185-
184+
This will create a new spec file named `login.cy.ts` in the default Cypress folder location.
186185

187186
### Specify Project
188187

npm/cypress-schematic/add-angular-cli-dev.js

Lines changed: 0 additions & 30 deletions
This file was deleted.

npm/cypress-schematic/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"private": false,
66
"main": "./src",
77
"scripts": {
8-
"add:angular-cli": "node ./add-angular-cli-dev.js",
98
"build": "tsc -p tsconfig.json",
109
"build:test": "tsc -p tsconfig.spec.json",
1110
"build:all": "tsc -p tsconfig.json && tsc -p tsconfig.spec.json",

npm/cypress-schematic/sandbox/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ chrome-profiler-events*.json
3131
.history/*
3232

3333
# misc
34+
/.angular/cache
3435
/.sass-cache
3536
/connect.lock
3637
/coverage

npm/cypress-schematic/sandbox/package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,22 @@
1010
"test": "ng test"
1111
},
1212
"dependencies": {
13-
"@angular/animations": "~12.0.0",
14-
"@angular/common": "~12.0.0",
15-
"@angular/compiler": "~12.0.0",
16-
"@angular/core": "~12.0.0",
17-
"@angular/forms": "~12.0.0",
18-
"@angular/platform-browser": "~12.0.0",
19-
"@angular/platform-browser-dynamic": "~12.0.0",
20-
"@angular/router": "~12.0.0",
13+
"@angular/animations": "~13.1.3",
14+
"@angular/common": "~13.1.3",
15+
"@angular/compiler": "~13.1.3",
16+
"@angular/core": "~13.1.3",
17+
"@angular/forms": "~13.1.3",
18+
"@angular/platform-browser": "~13.1.3",
19+
"@angular/platform-browser-dynamic": "~13.1.3",
20+
"@angular/router": "~13.1.3",
2121
"rxjs": "~6.6.0",
2222
"tslib": "^2.1.0",
2323
"zone.js": "~0.11.4"
2424
},
2525
"devDependencies": {
26-
"@angular-devkit/build-angular": "~12.0.0",
27-
"@angular/cli": "~12.0.0",
28-
"@angular/compiler-cli": "~12.0.0",
26+
"@angular-devkit/build-angular": "~13.1.4",
27+
"@angular/cli": "~13.1.4",
28+
"@angular/compiler-cli": "~13.1.3",
2929
"@types/jasmine": "~3.6.0",
3030
"@types/node": "^12.11.1",
3131
"jasmine-core": "~3.7.0",
@@ -34,6 +34,6 @@
3434
"karma-coverage": "~2.0.3",
3535
"karma-jasmine": "~4.0.0",
3636
"karma-jasmine-html-reporter": "^1.5.0",
37-
"typescript": "~4.2.3"
37+
"typescript": "~4.5.5"
3838
}
39-
}
39+
}

npm/cypress-schematic/sandbox/src/polyfills.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,6 @@
1818
* BROWSER POLYFILLS
1919
*/
2020

21-
/**
22-
* IE11 requires the following for NgClass support on SVG elements
23-
*/
24-
// import 'classlist.js'; // Run `npm install --save classlist.js`.
25-
26-
/**
27-
* Web Animations `@angular/platform-browser/animations`
28-
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
29-
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
30-
*/
31-
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
32-
3321
/**
3422
* By default, zone.js will patch all possible macroTask and DomEvents
3523
* user can disable parts of macroTask/DomEvents patch by setting following flags

0 commit comments

Comments
 (0)