mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
cd771174b9
In recent conventional-changelog version updates, the underlying @conventional-changelog/git-client dropped support for the raw `grep` and `extendedRegexp` options, causing all monorepo commits to be included in the zone.js changelog. Additionally, without `tagPrefix: 'zone.js-'`, conventional-changelog treated monorepo release tags as release boundaries, generating changelog sections for every intermediate monorepo release. This change: - Configures `tagPrefix: 'zone.js-'` and filters commits by `scope === 'zone.js'` via `writerOpts.transform` in the gulp changelog task. - Fixes the PR creation link in the release script to use the cross-fork compare URL format on GitHub. - Fixes the release commit SHA lookup in `cutReleaseWorkflow`. - Updates zone.js release documentation.
67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
## To run tests
|
|
|
|
_Note_: some of these tests no longer run. Be sure to check that CI is green.
|
|
|
|
Make sure your environment is set up with:
|
|
|
|
`pnpm`
|
|
|
|
In a separate process, run the WebSockets server:
|
|
|
|
`pnpm ws-server`
|
|
|
|
Run the browser tests using Karma:
|
|
|
|
`pnpm test`
|
|
|
|
Run the node.js tests:
|
|
|
|
`pnpm test-node`
|
|
|
|
Run tslint:
|
|
|
|
`pnpm lint`
|
|
|
|
Run format with prettier:
|
|
|
|
`pnpm format`
|
|
|
|
Run all checks (lint/format/browser test/test-node):
|
|
|
|
`pnpm ci`
|
|
|
|
## Before Commit
|
|
|
|
Please make sure you pass all following checks before commit
|
|
|
|
- pnpm lint (tslint and format)
|
|
- pnpm promisetest (promise a+ test)
|
|
- pnpm bazel test //packages/zone.js/... (all tests)
|
|
|
|
## Webdriver Test
|
|
|
|
`zone.js` also supports running webdriver e2e tests.
|
|
|
|
1. run locally
|
|
|
|
```
|
|
pnpm webdriver-start
|
|
pnpm webdriver-http
|
|
pnpm webdriver-test
|
|
```
|
|
|
|
## Releasing
|
|
|
|
Releasing `zone.js` is handled via the release script (run from the root of the repo):
|
|
|
|
```bash
|
|
pnpm zonejs:release
|
|
```
|
|
|
|
Follow the interactive prompts to either create a PR or cut a release.
|
|
|
|
Releasing is a two step process:
|
|
|
|
1. **Create a PR for release**: updates the version in `packages/zone.js/package.json`, generates the `packages/zone.js/CHANGELOG.md` with all changes since the last zone.js release, runs a dry-run build, creates and pushes the release branch, and provides a PR link.
|
|
2. **Cut a release (publish)**: once the PR is merged, check out the merged release commit, build the package with release config, publish to npm, and tag and push the `zone.js-<version>` release tag.
|