chore: guide for producing release notes (#1165)

This commit is contained in:
Dmitry Gozman 2020-02-28 14:40:50 -08:00 committed by GitHub
parent 1781ae7006
commit c4f55bf22c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 48 additions and 0 deletions

23
docs/releasing.md Normal file
View File

@ -0,0 +1,23 @@
# Preparing release notes
1. Use ["draft new release tag"](https://github.com/microsoft/playwright/releases/new).
1. Version starts with "v", e.g. "v1.1.0".
1. Fill "Raw notes".
- `git fetch --tags upstream`
- `git log --pretty="%h - %s" v1.0.0..HEAD`
1. Fill "Bug fixes".
- `git log v0.11.1..HEAD`
- Manually look for `#1234` references in commit messages.
1. Fill "Current status".
- `node utils/print_versions.js`
- Copy tests status from [IsPlaywrightReady](https://aslushnikov.github.io/isplaywrightready/).
1. Fill "Highlights" if any.
- Be creative.
1. Fill "Breaking API Changes" if any.
- `git diff v0.11.1:docs/api.md docs/api.md`
1. Fill "New APIs" if any.
- `git diff v0.11.1:docs/api.md docs/api.md`
1. When making links to the API, copy actual links from [GitHub](https://github.com/microsoft/playwright/blob/master/docs/api.md), and not from `api.md` source - these might be incorrect.
- Before publishing, replace `blob/master/docs` with `blob/v1.1.0/docs` in all the links.
1. Use "Save Draft", not "Publish".

25
utils/print_versions.js Normal file
View File

@ -0,0 +1,25 @@
/**
* Copyright (c) Microsoft Corporation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const pw = require('..');
const child_process = require('child_process');
for (const browserType of [pw.chromium, pw.firefox]) {
const executablePath = browserType.executablePath();
const version = child_process.execSync(executablePath + ' --version').toString().trim();
console.log(version);
}
console.log('WebKit 13.0.4');