mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-23 23:49:05 -06:00
deploy notes [skip ci]
This commit is contained in:
21
DEPLOY.md
21
DEPLOY.md
@@ -1,9 +1,9 @@
|
||||
## Deployment
|
||||
|
||||
Anyone can build the binary and NPM package, but you can only deploy Cypress application
|
||||
Anyone can build the binary and NPM package, but you can only deploy Cypress application
|
||||
and publish NPM module `cypress` if you are a member of `cypress` NPM organization.
|
||||
|
||||
**important** see the [publishing](#publishing) section for how to build, test and publish a
|
||||
**important** see the [publishing](#publishing) section for how to build, test and publish a
|
||||
new official version of the binary and `cypress` NPM package.
|
||||
|
||||
### Set next version on CIs
|
||||
@@ -16,7 +16,7 @@ Use script command `npm run set-next-ci-version` to do this.
|
||||
|
||||
### Building the NPM package
|
||||
|
||||
Building a new NPM package is very quick.
|
||||
Building a new NPM package is very quick.
|
||||
|
||||
- increment the version in the root `package.json`
|
||||
- `cd cli && npm run build`
|
||||
@@ -71,9 +71,9 @@ npm run binary-build-linux
|
||||
|
||||
In order to publish a new `cypress` package to the NPM registry, we must build and test it across
|
||||
multiple platforms and test projects. This makes publishing *directly* into the NPM registry
|
||||
impossible. Instead we
|
||||
impossible. Instead we
|
||||
|
||||
- Build the package (with new target version baked in) and the binary.
|
||||
- Build the package (with new target version baked in) and the binary.
|
||||
We build Linux and Windows binaries on CircleCI and AppVeyor.
|
||||
- upload binaries *and the new NPM package* to Cypress CDN under "beta" url
|
||||
- launch test CI projects, like [cypress-test-node-versions](https://github.com/cypress-io/cypress-test-node-versions) and [cypress-test-example-repos](https://github.com/cypress-io/cypress-test-example-repos) with unique urls instead of installing from the NPM registry.
|
||||
@@ -88,20 +88,20 @@ npm i https://cdn.../npm/<new version>/hash/cypress.tgz
|
||||
to make sure new binary and NPM package really work without breaking any of the tests.
|
||||
- Each binary and NPM package has new version inside and in the URL, for example `1.0.5`. The url
|
||||
also contains the original commit SHA from which it was built.
|
||||
- Build the Mac binary and upload (see above) to the CDN. Make sure to build it from the
|
||||
- Build the Mac binary and upload (see above) to the CDN. Make sure to build it from the
|
||||
same commit as the binaries built by CI
|
||||
- The upload from Mac binary will create new folder on CDN like
|
||||
`https://cdn.../desktop/1.0.5/osx64`. We need to create parallel subfolders for
|
||||
- The upload from Mac binary will create new folder on CDN like
|
||||
`https://cdn.../desktop/1.0.5/osx64`. We need to create parallel subfolders for
|
||||
Windows and Linux binaries. Go to AWS console and create them. In this case you would create
|
||||
folders `desktop/1.0.5/linux64` and `desktop/1.0.5/win64`.
|
||||
- Copy _the tested binaries_ from unique `binary` folder into `desktop/1.0.5` subfolders for each
|
||||
platform.
|
||||
- Publish the new NPM package under dev tag. The unique link to the package file `cypress.tgz`
|
||||
- Publish the new NPM package under dev tag. The unique link to the package file `cypress.tgz`
|
||||
is the one already tested above. You can publish to NPM registry straight from the URL
|
||||
|
||||
$ npm publish https://cdn.../npm/1.0.5/<long sha>/cypress.tgz --tag dev
|
||||
+ cypress@1.0.5
|
||||
- Check that new version has the right tag using
|
||||
- Check that new version has the right tag using
|
||||
[available-versions](https://github.com/bahmutov/available-versions)
|
||||
|
||||
```
|
||||
@@ -121,5 +121,6 @@ $ vers cypress
|
||||
- close issues (link to changelog)
|
||||
- update npm dist tag to `latest` using `npm dist-tag add cypress@1.0.5`
|
||||
- update `manifest.json` for download server `npm run binary-release -- --version 1.0.5`
|
||||
- push out updated changes to manifest for `on.cypress.io` if needed
|
||||
|
||||
Take a break, you deserve it!
|
||||
|
||||
Reference in New Issue
Block a user