Closed compulim closed 1 year ago
botframework-directlinejs
x.y.z
4.15.7
CHANGELOG.md
npm version --no-git-tag-version 4.15.7
main
5b1b942
true
BotFramework-WebChat-daily
340732
WebChat-release-testing
Push-Release-Testing-to-GitHub-Pages
465
/packages/
/samples/
The test should run against the build artifacts from Azure Pipelines.
webchat-release-testing
qfe
git status
git pull
/package.json
/package-lock.json
git log
git tag v4.15.7
git push -u upstream v4.15.7
for file in $(ls *.js); do echo $file $(cat $file | openssl dgst -sha384 -binary | openssl base64 -A); done
curl -H 'Accept-Encoding: gzip' https://cdn.botframework.com/botframework-webchat/4.15.7/webchat.js | gunzip - | openssl dgst -sha384 -binary | openssl base64 -A
stats.json
webchat-release-testing/drops
curl -LO https://registry.npmjs.org/botframework-directlinespeech-sdk/-/botframework-directlinespeech-sdk-4.15.7.tgz curl -LO https://registry.npmjs.org/botframework-webchat/-/botframework-webchat-4.15.7.tgz curl -LO https://registry.npmjs.org/botframework-webchat-core/-/botframework-webchat-core-4.15.7.tgz curl -LO https://registry.npmjs.org/botframework-webchat-api/-/botframework-webchat-api-4.15.7.tgz curl -LO https://registry.npmjs.org/botframework-webchat-component/-/botframework-webchat-component-4.15.7.tgz
[[PROD]]Push-WebChat-to-npmjs
45
[[PROD]]Push-WebChat-to-Prod-CDN-with-approval
49
320590
[x] Test using webchat-release-testing
01.create-react-app
01.create-react-app/node_modules
npm install
npm install botframework-webchat@4.15.7
npm run build
[x] Others
Using script tags from https://github.com/microsoft/BotFramework-WebChat/releases/tag/v4.15.7, with subresource integrity
<script crossorigin="anonymous" integrity="sha384-fUKSEwGc3/WXaZ4SN0Mm5DglQXbtPJFIgeN79b369v6duzoU3wP1Ix9zdxugfDBR" src="https://cdn.botframework.com/botframework-webchat/4.15.7/webchat.js" ></script> <script crossorigin="anonymous" integrity="sha384-1T+LvOs6/1ShG/+c7tarxIR/J0dUIjrba2M9SbyOv9Ls8ElcnhLZFnLGdiVf/u4W" src="https://cdn.botframework.com/botframework-webchat/4.15.7/webchat-es5.js" ></script> <script crossorigin="anonymous" integrity="sha384-kkb9jeNuZWQaueb4XkclbjwjfB0IOH2gjCFEHgKVVtrpqqdUmJtjXqGBeGsb2DZT" src="https://cdn.botframework.com/botframework-webchat/4.15.7/webchat-minimal.js" ></script>
npx serve
These are chores that we should do before starting the cycle to reduce ripple effects if we do it in mid-cycle.
Tips:
node_modules
git clean -fdx
package-lock.json
component/package.json
botframework-webchat-core
package.json
This list should be copied to versions in the future.
git checkout main
git cherry-pick XXX
4.15.8-0
npm version prepatch --no-git-tag-version
servicingPlan.json
npm init
In PR #4647, we are bumping most dependencies to latest version.
After bumping, if a package broke compatibility, we should investigate: Upgrade our code to use the latest package if possible, otherwise; Add it to package.json/skipBump to prevent bumping deliberately: Skipping bump incur unpredictable technical debts, say, security issue found in the unsupported version, causing us slow to react Plausible reasons (non-exhaustive): Package is not ES5; Package is ESM and requires the whole dependency chain to be upgraded, however, it is technically impossible (unrelated to cost).
After bumping, if a package broke compatibility, we should investigate:
package.json/skipBump
npm run bump
npm audit fix
microsoft-cognitiveservices-speech-sdk
The Docker image can be found at root docker-compose.yml and Dockerfile*.
docker-compose.yml
Dockerfile*
Completed. Release of 4.15.8 is #4738.
Checklist
Build
botframework-directlinejs
tox.y.z
~ (no newer version)4.15.7
CHANGELOG.md
to mark specific changes in4.15.7
npm version --no-git-tag-version 4.15.7
main
, the PR number is #46415b1b942
true
BotFramework-WebChat-daily
340732
and commit is5b1b942
WebChat-release-testing
pipeline to completePush-Release-Testing-to-GitHub-Pages
465
/packages/
folder/samples/
folder, as they are pointing to previous version of Web ChatWebChat-release-testing
as neededTest
webchat-release-testing
4.15.7
and previous releasesRelease
main
~orqfe
~ branch, rungit status
to checkgit pull
/package.json
,/package-lock.json
, andCHANGELOG.md
has a version of4.15.7
git log
5b1b942
git tag v4.15.7
git push -u upstream v4.15.7
CHANGELOG.md
for file in $(ls *.js); do echo $file $(cat $file | openssl dgst -sha384 -binary | openssl base64 -A); done
curl -H 'Accept-Encoding: gzip' https://cdn.botframework.com/botframework-webchat/4.15.7/webchat.js | gunzip - | openssl dgst -sha384 -binary | openssl base64 -A
stats.json
and 5 tarballswebchat-release-testing/drops
[[PROD]]Push-WebChat-to-npmjs
45
and commit is5b1b942
[[PROD]]Push-WebChat-to-Prod-CDN-with-approval
340732
, release number is49
and commit is5b1b942
320590
(this is fixed)Post-release verification - complete within 30 minutes after release to NPM
[x] Test using
webchat-release-testing
01.create-react-app
01.create-react-app/node_modules
npm install
npm install botframework-webchat@4.15.7
(just install the bundle package)npm run build
[x] Others
Using script tags from https://github.com/microsoft/BotFramework-WebChat/releases/tag/v4.15.7, with subresource integrity
npx serve
(at repo root)Notification to interested parties
Post-release checklist
These are chores that we should do before starting the cycle to reduce ripple effects if we do it in mid-cycle.
Tips:
node_modules
from all foldergit clean -fdx
package-lock.json
component/package.json
botframework-webchat-core
by hand-modifyingpackage.json
npm install
(symlinks will be broken afterward)package.json
Applies to all releases
CHANGELOG.md
and version number bump is cherry-picked tomain
~git checkout main
~git cherry-pick XXX
(the commitish for bumping version number andCHANGELOG.md
)~CHANGELOG.md
in PR #XXX~CHANGELOG.md
~package.json
to4.15.8-0
in PR #4642npm version prepatch --no-git-tag-version
servicingPlan.json
in PR #46424.15.7
in PR #XXXX~npm init
with default valuesnpm install botframework-webchat@4.15.7
Applies to major/minor releases
Bump all dependencies to latest version
In PR #4647, we are bumping most dependencies to latest version.
npm run bump
npm audit fix
to make sure everything is fixedmicrosoft-cognitiveservices-speech-sdk
Bump Docker image