microsoft / BotFramework-WebChat

A highly-customizable web-based client for Azure Bot Services.
https://www.botframework.com/
MIT License
1.58k stars 1.53k forks source link

4.13.0 release checklist #3826

Closed corinagum closed 3 years ago

corinagum commented 3 years ago

Checklist

Build

  1. [x] ~Bump MockBot to Bot Framework SDK release 4.13.0~
  2. [x] ~Bump botframework-directlinejs to 0.14.1~
    • No newer version
  3. [x] Bump to 4.13.0
    • [x] Update CHANGELOG.md to mark specific changes in 4.13.0
    • [x] Run npm version --no-git-tag-version 4.13.0
    • [x] Merged into master, the PR number is #3827
    • Commit is 585da0a
    • Do not merge any other unrelated changes after this PR. Any other PR merged, will need to be re-tested
  4. [x] Run daily pipeline manually, set "generate release version number" to true
    • (This will not push to NPM or CDN)
    • Pipeline name is BotFramework-WebChat-daily
    • The build number is 230592 and commit is 585da0a
  5. [x] Wait for WebChat-release-testing pipeline to complete
    • Pipeline name is Push-Release-Testing-to-GitHub-Pages
    • The release ID is 2697
  6. [x] Add manual tests to WebChat-release-testing as needed

Test

The test should run against the build artifacts from Azure Pipelines.

  1. [x] Manual testing on major browsers using webchat-release-testing
    • [x] Before starting testing, update all the browser version to latest
    • [x] Chrome 89.0.4389.114
    • [x] Edge 89.0.774.68
    • [x] Firefox 87.0
    • [x] IE11 (Windows 10 21343.1010)
    • [x] macOS Safari 14.0.3 (16610.4.3.1.7)
    • [x] iOS Safari 14.4.2
    • [x] Android Chrome 89.0.4389.105
  2. [x] Test specific fixes related to 4.13.0 and previous releases
    • Markdown external link indicator (visual and AT)

Release

  1. [x] Verify on WebChat-release-testing
  2. [x] Make sure you are on master ~or qfe~ branch, run git status to check
  3. [x] git pull
  4. [x] Verify /package.json, /package-lock.json, and CHANGELOG.md has a version of 4.13.0
  5. [x] git log
    • Verify the latest commit is 585da0a
  6. [x] git tag v4.13.0
  7. [x] git push -u upstream v4.13.0
    • You do not need to kick off a build again, use the previous build
  8. [x] Create a new GitHub release, copy entries from CHANGELOG.md
    • [x] Subresource Integrity can be generated by
      • From CDN: curl -H 'Accept-Encoding: gzip' https://cdn.botframework.com/botframework-webchat/4.13.0/webchat.js | gunzip - | openssl dgst -sha384 -binary | openssl base64 -A
      • From local: cat webchat.js | openssl dgst -sha384 -binary | openssl base64 -A
    • [x] Attach assets including 3 JS files, stats.json and 5 tarballs
      • You can copy the artifacts from webchat-release-testing/drops
      • Tarballs download from npmjs
        curl -L -o botframework-directlinespeech-sdk-4.13.0.tgz https://registry.npmjs.org/botframework-directlinespeech-sdk/-/botframework-directlinespeech-sdk-4.13.0.tgz
        curl -L -o botframework-webchat-4.13.0.tgz https://registry.npmjs.org/botframework-webchat/-/botframework-webchat-4.13.0.tgz
        curl -L -o botframework-webchat-core-4.13.0.tgz https://registry.npmjs.org/botframework-webchat-core/-/botframework-webchat-core-4.13.0.tgz
        curl -L -o botframework-webchat-api-4.13.0.tgz https://registry.npmjs.org/botframework-webchat-api/-/botframework-webchat-api-4.13.0.tgz
        curl -L -o botframework-webchat-component-4.13.0.tgz https://registry.npmjs.org/botframework-webchat-component/-/botframework-webchat-component-4.13.0.tgz
  9. [x] Kick off release to NPM
    • Release name is [[PROD]]Push-WebChat-to-npmjs
    • The build number is 230592 release number is 32 and commit is 585da0a
    • Retain the build indefinitely
  10. [x] Kick off release to CDN (CDN CUTOFF TIME IS 2PM PST)
    1. [x] Prepare the email for approval
      • Release name is [[PROD]]Push-WebChat-to-Prod-CDN-with-approval
      • The build number is 230592, release number is 11 and commit is abc123
      • Script build number is 131156 (this is fixed)
    2. [x] Send reminder email to approvers
      • Retain the build indefinitely

Post-release verification - complete within 30mins / 1hr of the release

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:

Applies to all releases

This list should be copied to versions in the future.

The PR is https://github.com/microsoft/BotFramework-WebChat/pull/XXX

Applies to major/minor releases

Bump all dependencies to latest version

On each package.json under root and /packages/:

Bump Docker image

The Docker image can be found at root docker-compose.yml and Dockerfile*.

corinagum commented 3 years ago

https://github.com/microsoft/BotFramework-WebChat/releases/tag/v4.13.0