You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: .github/PULL_REQUEST_TEMPLATE.md
-1
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,5 @@ DO NOT DELETE the PR checklist.
32
32
-->
33
33
34
34
-[ ] Have tests been added/updated?
35
-
-[ ] Has the original issue (or this PR, if no issue exists) been tagged with a release in ZenHub? (user-facing changes only)
36
35
-[ ] Has a PR for user-facing changes been opened in [`cypress-documentation`](https://github.com/cypress-io/cypress-documentation)? <!-- Link to PR here -->
37
36
-[ ] Have API changes been updated in the [`type definitions`](https://github.com/cypress-io/cypress/blob/develop/cli/types/cypress.d.ts)?
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
-7
Original file line number
Diff line number
Diff line change
@@ -476,8 +476,6 @@ We do not continuously deploy the Cypress binary, so `develop` contains all of t
476
476
-`test` - Adding missing or correcting existing tests
477
477
- For user-facing changes that will be released with the next Cypress version, be sure to add a changelog entry to the appropriate section in [`cli/CHANGELOG.md`](./cli/CHANGELOG.md). See [Writing the Cypress Changelog Guide](./guides/writing-the-cypress-changelog.md) for more details.
478
478
- 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. PRs will not be reviewed if this template is not filled in.
479
-
- If the PR is a user facing change and you're a Cypress team member that has logged into [ZenHub](https://www.zenhub.com/) and downloaded the [ZenHub for GitHub extension](https://www.zenhub.com/extension), set the release the PR is intended to ship in from the sidebar of the PR. Follow semantic versioning to select the intended release. This is used to generate the changelog for the release. If you don't tag a PR for release, it won't be mentioned in the changelog.
480
-

481
479
- 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.
482
480

483
481
- All Pull Requests require a minimum of **two** approvals.
@@ -561,10 +559,6 @@ Below are guidelines to help during code review. If any of the following require
561
559
-[ ] There is no irrelevant code to the issue being addressed. If there is, ask the contributor to break the work out into a separate PR.
562
560
-[ ] Tests are testing the code's intended functionality in the best way possible.
563
561
564
-
#### Internal
565
-
566
-
-[ ] The original issue has been tagged with a release in ZenHub.
567
-
568
562
### Code Review of Dependency Updates
569
563
570
564
Below are some guidelines Cypress uses when reviewing dependency updates.
@@ -579,7 +573,6 @@ Below are some guidelines Cypress uses when reviewing dependency updates.
579
573
580
574
-[ ] Code using the dependency has been updated to accommodate any breaking changes
581
575
-[ ] The dependency still supports the version of Node that the package requires.
582
-
-[ ] The PR been tagged with a release in ZenHub.
583
576
-[ ] Appropriate labels have been added to the PR (for example: label `type: breaking change` if it is a breaking change)
Copy file name to clipboardexpand all lines: guides/release-process.md
+16-25
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,6 @@ The `@cypress/`-namespaced NPM packages that live inside the [`/npm`](../npm) di
13
13
- Ensure you have the following permissions set up:
14
14
- An AWS account with permission to access and write to the AWS S3, i.e. the Cypress CDN.
15
15
- Permissions for your npm account to publish the `cypress` package.
16
-
- Permissions to update releases in ZenHub.
17
16
18
17
-[Set up](https://cypress-io.atlassian.net/wiki/spaces/INFRA/pages/1534853121/AWS+SSO+Cypress) an AWS SSO profile with the [Team-CypressApp-Prod](https://cypress-io.atlassian.net/wiki/spaces/INFRA/pages/1534853121/AWS+SSO+Cypress#Team-CypressApp-Prod) role. The release scripts assumes the name of your profile is `prod`. Make sure to open the "App Developer" expando for some necessary config values. Your AWS config file should end up looking like the following:
19
18
@@ -27,19 +26,17 @@ The `@cypress/`-namespaced NPM packages that live inside the [`/npm`](../npm) di
27
26
```
28
27
29
28
- Set up the following environment variables:
30
-
- For the `release-automations` steps, you will need setup the following envs:
29
+
- For the `release-automations` step, you will need setup the following envs:
31
30
- GitHub token - Found in 1Password.
32
-
- [ZenHub API token](https://app.zenhub.com/dashboard/tokens) to interact with Zenhub. Found in 1Password.
33
31
- The `cypress-bot` GitHub app credentials. Found in 1Password.
34
32
```text
35
33
GITHUB_TOKEN="..."
36
-
ZENHUB_API_TOKEN="..."
37
34
GITHUB_APP_CYPRESS_INSTALLATION_ID=
38
35
GITHUB_APP_ID=
39
36
GITHUB_PRIVATE_KEY=
40
37
```
41
38
42
-
- For purging the Cloudflare cache (part of the `move-binaries` step), you'll need `CF_ZONEID` and `CF_TOKEN` set. These can be found in 1Password.
39
+
- For purging the Cloudflare cache (needed for the `prepare-release-artifacts` script in step 6), you'll need `CF_ZONEID` and `CF_TOKEN` set. These can be found in 1Password.
43
40
```text
44
41
CF_ZONEID="..."
45
42
CF_TOKEN="..."
@@ -78,13 +75,14 @@ In the following instructions, "X.Y.Z" is used to denote the [next version of Cy
78
75
- [cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app) uses yarn and represents a typical consumer implementation.
79
76
- Optionally, do more thorough tests, for example test the new version of Cypress against the Cypress Cloud repo.
80
77
81
-
2. Confirm that every issue labeled [stage: pending release](https://github.com/cypress-io/cypress/issues?q=label%3A%22stage%3A+pending+release%22+is%3Aclosed) has a ZenHub release set. **Tip:** there is a command in [`release-automations`](https://github.com/cypress-io/release-automations)'s `issues-in-release` tool to list and check such issues. Without a ZenHub release issues will not be included in the right changelog. Also ensure that every closed issue in any obsolete releases are moved to the appropriate release in ZehHub. For example, if the open releases are 9.5.5 and 9.6.0, the current release is 9.6.0, then all closed issues marked as 9.5.5 should be moved to 9.6.0. Ensure that there are no commits on `develop` since the last release that are user facing and aren't marked with the current release.
78
+
2. Ensure all changes to the links manifest to [`on.cypress.io`](https://github.com/cypress-io/cypress-services/tree/develop/packages/on) have been merged to `develop` and deployed.
82
79
83
80
3. Create a Release PR Bump, submit, get approvals on, and merge a new PR. This PR Should:
84
-
- Bump the Cypress `version` in [`package.json`](package.json)
85
-
- Bump the [`packages/example`](../packages/example) dependency if there is a new [`cypress-example-kitchensink`](https://github.com/cypress-io/cypress-example-kitchensink/releases) version
86
-
- Follow the writing the [Cypress Changelog release steps](./writing-the-cypress-changelog.md#release) to update the [`cli/CHANGELOG.md`](../cli/CHANGELOG.md).
87
-
4. Once the `develop` branch is passing for all test projects with the new changes and the `linux-x64` binary is present at `https://cdn.cypress.io/beta/binary/X.Y.Z/linux-x64/develop-<sha>/cypress.zip`, and the `linux-x64` cypress npm package is present at `https://cdn.cypress.io/beta/npm/X.Y.Z/linux-x64/develop-<sha>/cypress.tgz`, publishing can proceed.
81
+
- Bump the Cypress `version` in [`package.json`](package.json)
82
+
- Bump the [`packages/example`](../packages/example) dependency if there is a new [`cypress-example-kitchensink`](https://github.com/cypress-io/cypress-example-kitchensink/releases) version
83
+
- Follow the writing the [Cypress Changelog release steps](./writing-the-cypress-changelog.md#release) to update the [`cli/CHANGELOG.md`](../cli/CHANGELOG.md).
84
+
85
+
4. Once the `develop` branch is passing in CI and you have confirmed the `cypress-bot` has commented on the commit with the pre-release versions for `darwin-x64`, `darwin-arm64`, `linux-x64`,`linux-arm64`, and `win32-x64`, publishing can proceed.
88
86
89
87
5. Log into AWS SSO with `aws sso login --profile <name_of_profile>`. If you have setup your credentials under a different profile than `prod`, be sure to set the `AWS_PROFILE` environment variable to that profile name for the remaining steps. For example, if you are using `production` instead of `prod`, do `export AWS_PROFILE=production`.
90
88
@@ -142,36 +140,29 @@ In the following instructions, "X.Y.Z" is used to denote the [next version of Cy
142
140
yarn binary-release --version X.Y.Z
143
141
```
144
142
145
-
15. If needed, push out any updated changes to the links manifest to [`on.cypress.io`](https://github.com/cypress-io/cypress-services/tree/develop/packages/on).
146
-
147
-
16. Merge the documentation PR from step 11 and the new docker image PR created in step 12 to release the image.
148
-
149
-
17. If needed, deploy the updated [`cypress-example-kitchensink`][cypress-example-kitchensink] to `example.cypress.io` by following [these instructions under "Deployment"](../packages/example/README.md).
143
+
15. Merge the documentation PR from step 11 and the new docker image PR created in step 12 to release the image.
150
144
151
-
18. Update the releases in [ZenHub](https://app.zenhub.com/workspaces/test-runner-5c3ea3baeb1e75374f7b0708/reports/release):
152
-
- Close the current release in ZenHub.
153
-
- Create a new patch release (and a new minor release, if this is a minor release) in ZenHub, and schedule them both to be completed 2 weeks from the current date.
154
-
- Move all issues that are still open from the current release to the appropriate future release.
145
+
16. If needed, deploy the updated [`cypress-example-kitchensink`][cypress-example-kitchensink] to `example.cypress.io` by following [these instructions under "Deployment"](../packages/example/README.md).
155
146
156
-
19. Once the release is complete, create a Github tag off of the release commit which bumped the version:
147
+
17. Once the release is complete, create a Github tag off of the release commit which bumped the version:
157
148
```shell
158
149
git checkout develop
159
150
git pull origin develop
160
151
git log --pretty=oneline
161
-
# copy sha of the previous commit
152
+
# copy sha of the version bump commit
162
153
git tag -a vX.Y.Z -m vX.Y.Z <sha>
163
154
git push origin vX.Y.Z
164
155
```
165
156
166
-
20. Create a new [GitHub release](https://github.com/cypress-io/cypress/releases). Choose the tag you created previously and add contents to match previous releases.
157
+
18. Create a new [GitHub release](https://github.com/cypress-io/cypress/releases). Choose the tag you created previously and add contents to match previous releases.
167
158
168
-
21. Inside of [cypress-io/release-automations][release-automations], run the following to add a comment to each GH issue that has been resolved with the new published version:
159
+
19. Add a comment to each GH issue that has been resolved with the new published version. Download the `releaseData.json` artifact from the `verify-release-readiness` CircleCI job and run the following command inside of [cypress-io/release-automations][release-automations]:
169
160
170
161
```shell
171
-
cd packages/issues-in-release && npm run do:comment -- --release X.Y.Z
162
+
cd packages/issues-in-release && npm run do:comment -- --release-data <path_to_releaseData.json>
172
163
```
173
164
174
-
22. Confirm there are no issues with the label [stage: pending release](https://github.com/cypress-io/cypress/issues?q=label%3A%22stage%3A+pending+release%22+is%3Aclosed) left
165
+
22. Confirm there are no issues from the release with the label [stage: pending release](https://github.com/cypress-io/cypress/issues?q=label%3A%22stage%3A+pending+release%22+is%3Aclosed) left.
175
166
176
167
23. Check all `cypress-test-*` and `cypress-example-*` repositories, and if there is a branch named `x.y.z` for testing the features or fixes from the newly published version `x.y.z`, update that branch to refer to the newly published NPM version in `package.json`. Then, get the changes approved and merged into that project's main branch. For projects without a `x.y.z` branch, you can go to the Renovate dependency issue and check the box next to `Update dependency cypress to X.Y.Z`. It will automatically create a PR. Once it passes, you can merge it. Try updating at least the following projects:
0 commit comments