Vscode: September endgame

Created on 24 Sep 2018  ·  9Comments  ·  Source: microsoft/vscode

  • September 24 Code freeze for the endgame
  • September 28 Endgame done

Note: The Insiders build needs to be in the wild for 24 hours before we can enter the last phase of the endgame.

Monday
  • [x] Run OSS tool endgame master

    • The LCA review of the ThirdPartyNotices.txt files is not needed anymore

  • [x] Code freeze at 5pm PT
  • [x] Ensure we have a green build on all platforms at 5pm PT
  • [x] All test items contain sufficiently comprehensive test descriptions by 6pm PT
  • [x] Update your availability for testing here - https://vscode-tools.azurewebsites.net/
Tuesday
  • [x] Test plan items assigned (using https://vscode-tools.azurewebsites.net/)

    • Run the tool multiple times to balance load if test items come in later and assignments are already made

  • [x] All closed feature-requests either have a verification-needed or on-testplan tag
  • [x] Test build starts at 7am CET
  • [x] Test plan ready by 8am CET
  • [x] Testing
  • [x] [Verification needed](https://github.com/Microsoft/vscode/issues?q=is%3Aissue+-label%3Averified+is%3Aclosed+label%3Averification-needed)
Wednesday
  • [x] Testing
  • [x] Remind team members to assign issues that they intend to fix to the current milestone
  • [x] Fixing (self-assigned, milestone assigned)
  • [x] [Verification (pls update the milestone in the query)](https://github.com/Microsoft/vscode/issues?utf8=✓&q=is%3Aissue+label%3Abug+-label%3Averified+-label%3Aon-testplan+is%3Aclosed+-label%3Aduplicate+-label%3A*duplicate+-label%3Ainvalid+-label%3Aas-designed+-label%3Aerror-telemetry+milestone%3A%22September+2018%22+)
Thursday
  • [x] Fixing (scrutiny sets in - major bugs only - to be discussed in stand-up meeting, labeled as candidate)
  • [x] [Verification](https://github.com/Microsoft/vscode/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Abug+-label%3Averified+-label%3Aon-testplan+is%3Aclosed+-label%3Aerror-telemetry+-label%3Aduplicate+-label%3A*duplicate+-label%3Ainvalid+-label%3Aas-designed+milestone%3A%22September+2018%22+)
  • [x] Check new OSS usage is entered into the OSS registry owner
Friday
  • [x] Pause scheduled insider builds endgame master
  • Satellite modules/npm packages ready, version updated, smoke tested

    • [x] vscode @bpasero

    • [x] yo generator @aeschli

    • [x] vsce @joaomoreno

    • [x] node debug @weinand

    • [x] node debug2 @roblourens

    • [x] node debugadapter node @weinand

  • [x] All issues verified
  • [x] Fixing (only critical bugs - no string changes)
  • Smoketest

    • [x] Windows - owner

    • [x] OS X - owner

    • [x] Linux - owner

  • [x] All release notes updated

    • release notes are collected in a file named Month_Year.md in this repo directory

    • [x] @aeschli

    • [x] @alexandrudima

    • [x] @bpasero

    • [x] @chrmarti

    • [x] @dbaeumer

    • [x] @egamma

    • [x] @isidorn

    • [x] @joaomoreno

    • [x] @jrieken

    • [x] @kieferrm

    • [x] @mjbvz

    • [x] @octref

    • [x] @ramya-rao-a

    • [x] @rebornix

    • [x] @rmacfarlane

    • [x] @roblourens

    • [x] @sandy081

    • [x] @sbatten

    • [x] @tyriar

    • [x] @weinand

  • [ ] Acknowledge pull requests in release notes. We acknowledge PRs from outside the team. Use the thankyou tool to generate the initial contents of the section. owner

    • [x] vscode endgame master

    • [x] vscode-node-debug @weinand

    • [x] vscode-node-debug2 @roblourens

    • [x] vscode-debugadapter-node @weinand

    • [ ] vscode-languageserver-node @dbaeumer

    • [ ] language-server-protocol @dbaeumer

    • [x] vscode-textmate @alexandrudima

    • [x] vscode-loader @alexandrudima

    • [ ] vscode-generator-code @aeschli

    • [x] vscode-vsce @joaomoreno

    • [ ] vscode-docs @gregvanl

    • [x] vscode-css-languageservice @aeschli

    • [x] vscode-json-languageservice @aeschli

    • [x] vscode-html-languageservice @aeschli

    • [x] jsonc-parser @aeschli

    • [ ] vscode-jscs @chrisdias

    • [x] vscode-tslint @egamma

    • [ ] vscode-eslint @dbaeumer

    • [x] vscode-jshint @rmacfarlane

    • [x] vscode-recipes @auchenberg

    • [x] localization @danyeh

    • [x] vscode-github-issues-prs @chrmarti

  • [x] Add notable fixes to the release notes all
  • When done fixing/verifying and there are changes since last build at the end of day PT

    • [x] Trigger new insider build and publish it manually endgame master

Friday/Monday
  • [x] Branch code to `release/ endgame master
  • [x] Bump up the version in package.json - endgame master
  • [x] Announce master is open for business endgame master
  • [x] Let Daniel Ye know that the release branch release/<x.y> got created and that translation should be pulled from there and that the pull request has to be created against that branch endgame master
  • [x] Polish release notes redmond
Monday - Wednesday
  • [x] Polish release notes redmond
  • [x] Cherry-pick hand-picked and reviewed changes to release/<x.y> endgame master
  • [x] Build Insider from release/<x.y> endgame master
  • [x] Manually release Insider endgame master
  • [x] Documentation updated

    • [x] @aeschli

    • [x] @alexandrudima

    • [x] @bpasero

    • [x] @chrmarti

    • [x] @dbaeumer

    • [x] @egamma

    • [x] @isidorn

    • [x] @joaomoreno

    • [x] @jrieken

    • [x] @kieferrm

    • [x] @mjbvz

    • [x] @octref

    • [x] @ramya-rao-a

    • [x] @rebornix

    • [x] @rmacfarlane

    • [x] @roblourens

    • [x] @sandy081

    • [x] @sbatten

    • [x] @tyriar

    • [x] @weinand

Note: The Insiders build needs to be in the wild for 24 hours before we can enter the last phase of the endgame.

Wednesday/Thursday
  • [x] Build stable for all platforms endgame master
  • [x] Make rpm signing request @Tyriar
  • [x] Sanity check of installable bits

    • [x] Windows

    • [x] signed installer 32-bit owner

    • [x] signed installer 64-bit owner

    • [x] signed user installer 32-bit owner

    • [x] signed user installer 64-bit owner

    • [x] zip 32-bit owner

    • [x] zip 64-bit owner

    • [x] OS X - owner

    • [x] Linux

    • [x] deb package 32-bit owner

    • [x] deb package 64-bit owner

    • [x] rpm package 64-bit owner

    • [x] rpm package 32-bit owner

    • [x] archives owner

  • [x] Publish website @gregvanl
  • [x] Publish to stable endgame master
  • [x] Add a git tag to HEAD of release/<x.y> in format x.y.z (for vscode.d.ts download) endgame master
  • [x] Publish deb and rpms to repositories manually @Tyriar
  • [x] Enable scheduled insider builds endgame master
  • [x] Twitter announcement @auchenberg

Recovery Build

We release a recovery build with a handful of critical fixes and translation updates a few days after a release. The candidate fixes are reviewed by the development team and are assigned to the recovery milestone. We want to be restrictive about the included candidates. The mindset is "we will lose users if we do not include the fix". Here are some examples:

  • data loss
  • a regression that users complain loudly about in issues or twitter
  • a significant performance regressions
  • an issue that impacts many users as indicated by telemetry data
  • an embarrassing UI glitch
  • critical security fixes
  • an issue that impacts extensions or is an API regression

Check list

  • [ ] Create a milestone <Month> Recovery <year> owner
  • [ ] Include an issue 'update translations' owner
  • [ ] Assign candidate issues to the recovery milestone team
  • [ ] Review the candidate issues, and if they pass the review assign them to the recovery milestone team
  • [ ] All candiate fixes are peer reviewed and pushed to master and then cherry-picked into the release branch team
  • [ ] Initiate insiders build from master
  • [ ] Issues are tested in the insiders team
  • [ ] Build stable for all platforms from release branch owner
  • [ ] Make rpm signing request @Tyriar
  • [ ] Issues are verified on stable build and the verified label is added owner
  • [ ] Check https://github.com/Microsoft/vscode/compare/release/<x.y> to ensure no other commits have been made in the release branch owner
  • [ ] Update the release notes and include a link to a query for the fixed issues @gregvanl
  • Smoketest stable bits

    • [ ] Windows - owner

    • [ ] OS X - owner

    • [ ] Linux - owner

  • [ ] Sanity check installable stable bits that have not been smoke tested

    • [ ] Windows

    • [ ] signed installer 32-bit owner

    • [ ] signed installer 64-bit owner

    • [ ] zip 32-bit owner

    • [ ] zip 64-bit owner

    • [ ] OS X - owner

    • [ ] Linux

    • [ ] deb package 32-bit owner

    • [ ] deb package 64-bit owner

    • [ ] rpm package 64-bit owner

    • [ ] rpm package 32-bit owner

    • [ ] archives owner

  • [ ] Publish website @gregvanl
  • [ ] Publish stable build owner
  • [ ] Publish deb and rpms to repositories manually @Tyriar
  • [ ] Add a git tag to HEAD of release/<x.y> in format x.y.z
endgame-plan

Most helpful comment

Maybe we can add and item to the dates to better inform the community, like

  • September 24 Code freeze for the endgame
  • September 28 Endgame done
  • October 4 Release (And keep this updated, in case the release slips)

in both the plan issue and endgame issue.

All 9 comments

Add this to the iteration plan and Wiki? @mjbvz

Could you use dates instead of days of the week for these?

… also even though it has been said before that the release can be expected to be done in the week AFTER the month is over, why does literally the second line in this issue already contradict that?

September 28 Endgame done

(And why not plan to be ready actually AT the end of the month?)

But I agree with @paterasMSFT that it would be a bit easier to follow along if there were dates instead of just "Monday" etc.

@tkrajacic "Endgame done" indicates the time in which the "endgame week" ends, we normally _release_ the following week in "debt week". See https://github.com/Microsoft/vscode/wiki/Development-Process#inside-an-iteration

@Tyriar The fact that I would have to look that up somewhere is precisely my point. This is not meant as bashing the work but rather pointing out that it can be confusing for no obvious reason.

Maybe we can add and item to the dates to better inform the community, like

  • September 24 Code freeze for the endgame
  • September 28 Endgame done
  • October 4 Release (And keep this updated, in case the release slips)

in both the plan issue and endgame issue.

I would also appreciate dates on these 👍

We should probably also link to the wiki in the endgame template.

Was this page helpful?
0 / 5 - 0 ratings