Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.11.0 Release checklist #3566

Closed
46 of 48 tasks
compulim opened this issue Oct 29, 2020 · 1 comment
Closed
46 of 48 tasks

4.11.0 Release checklist #3566

compulim opened this issue Oct 29, 2020 · 1 comment
Assignees
Labels
release Release checklist

Comments

@compulim
Copy link
Contributor

compulim commented Oct 29, 2020

Checklist

Build

  1. Bump MockBot to Bot Framework SDK release 4.11.0
  2. Bump botframework-directlinejs to 0.13.0
    • PR is XXX
    • We did not bump botframework-directlinejs
  3. Bump to 4.11.0
    • Update CHANGELOG.md to mark specific changes in 4.11.0
    • Run npm version --no-git-tag-version 4.11.0
    • Merged into master, the PR number is Bump to 4.11.0 #3588
    • Commit is 009a27e
    • Do not merge any other unrelated changes after this PR. Any other PR merged, will need to be re-tested
  4. 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 181956 and commit is 009a27e

Test

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

  1. Manual testing on major browsers using webchat-release-testing
    • Chrome 86.0.4240.111
    • Edge (Anaheim) 86.0.622.56
    • Edge (UWP) 44.20241.1000.1 (EdgeHTML 18.20241)
    • Firefox 82.0.2
    • IE11 (Windows 10 20246.1)
    • macOS Safari 13.1.3 (15609.4.1)
    • iOS Safari 14.1
    • Android Chrome 86.0.4240.110
  2. Test specific fixes related to 4.11.0 and previous releases
    • Accessibility: screen reader will now read attachment details

Release

  1. Make sure you are on master or qfe branch, run git status to check
  2. git pull
  3. Verify /package.json, /package-lock.json, and CHANGELOG.md has a version of 4.11.0
  4. git log
    • Verify the latest commit is 009a27e
  5. git tag v4.11.0
  6. git push -u upstream v4.11.0
    • You do not need to kick off a build again, use the previous build
  7. Create a new GitHub release, copy entries from CHANGELOG.md
    • Subresource Integrity can be generated by
      • From CDN: curl -H 'Accept-Encoding: gzip' https://cdn.botframework.com/botframework-webchat/4.11.0/webchat.js | gunzip - | openssl dgst -sha384 -binary | openssl base64 -A
      • From local: cat webchat.js | openssl dgst -sha384 -binary | openssl base64 -A
    • 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.11.0.tgz https://registry.npmjs.org/botframework-directlinespeech-sdk/-/botframework-directlinespeech-sdk-4.11.0.tgz
        curl -L -o botframework-webchat-4.11.0.tgz https://registry.npmjs.org/botframework-webchat/-/botframework-webchat-4.11.0.tgz
        curl -L -o botframework-webchat-core-4.11.0.tgz https://registry.npmjs.org/botframework-webchat-core/-/botframework-webchat-core-4.11.0.tgz
        curl -L -o botframework-webchat-api-4.11.0.tgz https://registry.npmjs.org/botframework-webchat-api/-/botframework-webchat-api-4.11.0.tgz
        curl -L -o botframework-webchat-component-4.11.0.tgz https://registry.npmjs.org/botframework-webchat-component/-/botframework-webchat-component-4.11.0.tgz
        
  8. Kick off release to NPM
    • Release name is [[PROD]]Push-WebChat-to-npmjs
    • The build number is 181956, release number is 2532 and commit is 009a27e
    • Retain the build indefinitely
  9. Kick off release to CDN
    1. Prepare the email for approval
    • Release name is [[PROD]]Push-WebChat-to-Prod-CDN-with-approval
    • The build number is 181956, release number is 2540 and commit is 009a27e
    • Script build number is 131156 (this is fixed)
    1. Send reminder email to approvers
    • Retain the build indefinitely

Post-release check

Notification to interested parties

Changelog

Added

  • Resolves #3281. Added documentation on speech permissions for Cordova apps on Android, by @corinagum, in PR #3508
  • Resolves #3316. Refactored platform-neutral APIs into the new api package, to be reused on React Native component, in PR #3543 by @compulim
    • The new layering is core -> api -> component (HTML-only) -> bundle
    • Includes composition mode, platform-neutral React hooks, and localization resources
    • Most hooks are available in the new api package. Some hooks are only available on the existing component package, due to their platform dependency or coupling with visual components. For example, Web Worker, 2D canvas, useMicrophoneButton* are not available on the api package
    • Most implementations of middleware are only available in component package due to their coupling with visual components or platform features. Some implementations, (e.g. card action middleware and activity grouping middleware) are available on api package. For example:
      • Carousel layout and stacked layout is only available on component package due to their coupling with their respective visual components
      • For card action middleware, imBack, messageBack and postBack actions are available on api package, but call, openUrl and other platform-dependent actions are only available on component package
    • activityMiddleware, attachmentMiddleware, etc, now support arrays for multiple middleware

Fixed

Changed

Samples

@compulim compulim added the release Release checklist label Oct 29, 2020
@compulim compulim self-assigned this Oct 29, 2020
@corinagum
Copy link
Contributor

Closing as complete

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Release checklist
Projects
None yet
Development

No branches or pull requests

2 participants