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

November 2024 Endgame #234966

Closed
dbaeumer opened this issue Dec 2, 2024 · 1 comment
Closed

November 2024 Endgame #234966

dbaeumer opened this issue Dec 2, 2024 · 1 comment
Assignees
Labels
endgame-plan VS Code - Next release plan for endgame
Milestone

Comments

@dbaeumer
Copy link
Member

dbaeumer commented Dec 2, 2024

Sometimes we have slight adjustments to the endgame plan to account for local holidays. Please update your endgame plan accordingly.

  • 12/2 Code freeze for the endgame
  • 12/3 Endgame starts
  • 12/6 Endgame done
  • 12/11 Expected release date (this may change)
Monday
  • Pin endgame issue on GitHub @dbaeumer
  • Run OSS tool @dbaeumer
  • Update links in the Endgame notebooks to point to new milestone @dbaeumer
  • Code freeze at 5pm PT, PRs should no longer be accepted to ensure a green build
  • Ensure we have a green build on all platforms at 5pm PT
  • 🔖Ensure all closed feature-requests either have a verification-needed or on-testplan label
  • Create test plan items following the template here by 6pm PT
    • Remind the team that TPIs should be written so that anyone can test. If this is not feasible, then TPI authors should assign specific testers @dbaeumer
  • Update your availability for testing here - https://tools.code.visualstudio.com/team-manifest team
    • Update availability of testers in vacation (Check OOF section in the Internal Backlog Plan). Double check N/A testers. @dbaeumer
    • Remind team that in the event of sickness or overload with TPIs, to inform the endgame champ ASAP so items can be reassigned
  • Remind team to go through their fixed issues for the milestone and update repro steps for issues which require more detailed instructions.
  • Set up the endgame retrospective to discuss process improvement
  • Set up a standup meeting for Friday to discuss candidates
Tuesday
  • Test plan items assigned (using https://tools.code.visualstudio.com/test-plan-items)
    • Run the tool multiple times to balance load if test items come in later and assignments are already made
    • Assigned to you
  • Test build starts at 7am CET
  • Test plan ready by 8am CET
  • Remind the team about the priorities
    • Tuesday should be dedicated exclusively to testing activities. Our goal is to ensure the completion of all Test Plan Items (TPIs) and subsequently proceed with the verification phase. Fixes or commits should be refrained from unless there are exceptional circumstances such as blocked TPIs or build-related issues. On Tuesday Redmond EOD, only blocked TPIs should remain open with a corresponding label blocked and status update comment in the issue.
  • Testing and Verification
Wednesday
  • 🔖Testing
    • These remaining TPIs should be the ones that are currently blocked. Discuss during the standup and redistribute assignments based on the TPI owner and the test coverage. For instance, if a TPI is owned by a member from Zurich and has not undergone sufficient testing, it will be reassigned to one of the Zurich team members.
  • Remind team members to triage issues found in testing and assign major issues that they intend to fix to the current milestone. Remind team to move out or close other open issues/PRs on the milestone that they do not intend to fix this milestone.
  • 🔖Verification needed
  • Fixing (self-assigned, milestone assigned)
  • 🔖Verification
  • Message team members as needed to add steps to verification-steps-needed issues @dbaeumer
Thursday
  • Make sure the insider build is green @dbaeumer
  • Disable continuous insider builds and announce in #release @dbaeumer

    📢 Continuous insider builds are now disabled.

  • Fixing (self-assigned, milestone assigned)
    • Increased scrutiny sets in due to testing being completed. Fixes pose a much higher risk
    • Move open issues/PRs to the next month that can be deferred
  • Emphasize to the team that we want to verify as many issues as we can before the branching time, and ping team members as needed to remind them to add steps to verification-steps-needed issues @dbaeumer
  • 🔖Verification needed
  • 🔖Verification
  • Run scripts/test-documentation.sh|bat after compiling the vscode repo, and fix any issues regarding new undocumented colors. Changes made to the vscode-docs repository must be merged to the main branch of that repository for the script to acknowledge them. False positives within the color section in vscode-known-variables.json can be moved under the others section of that file. @dbaeumer
Thursday/Friday - Depending on @dbaeumer timezone
  • By Thursday EOD (Redmond) or Friday BOD (Zurich), branch from main and release @dbaeumer
    • Branch following repositories to release/<x.y>
      • vscode
      • vscode-distro
      • vscode-dev
    • Localization: Run Update VS Code Branch build with release/* as the VS Code Branch parameter (it's the default so you shouldn't have to change anything)
    • Announce main is open for business and all issues on the current iteration are candidates and that the candidate release process is to be followed.
    • Build and manually release Insider from release/<x.y> branch for Code
    • Build and manually release Insider from release/<x.y> branch for vscode.dev (if there were vscode.dev candidates)
    • Announce in #release @dbaeumer

      📢 Extension authors ensure all release branch changes have been published to users, manually building and releasing if necessary.

  • Build but don't release a stable build from release/<x.y> branch to ensure stable build is green @dbaeumer
  • Bump up the version in package.json on main - @dbaeumer
  • Create next milestone on microsoft/vscode repo and ensure that it has a due date. The created milestone and its due date will be automatically synced across our repos. @dbaeumer
Friday
Monday
  • Polish release notes @ntrogh
  • Schedule an endgame restrospective with with @dbaeumer, endgame buddy, and next @dbaeumer for this week. Retrospective template
  • Decide whether a Patch Tuesday release will happen:
    • Check the internal iteration plan for scheduled security issues (MSRCs) to determine if a Patch Tuesday release is needed.
    • If no Patch Tuesday release is planned, use the Patch Tuesday E-Mail Template to let the Updates team ([email protected]) know of that fact. Please cc Monacotools on this email as the client patching team has asked us to do so. @dbaeumer
    • Otherwise, if a Patch Tuesday release is necessary, start off a Patch Tuesday Release plan @dbaeumer
  • Remind the team: if they are going to be OOF for more than five days during the next iteration, assign someone to look out for critical issues in their feature areas and fix them if necessary. This helps with bug identification and fixing for recovery releases. @dbaeumer
Monday - Wednesday

Note: The Insiders build needs to be in the wild for 24 hours before we can enter the last phase of the endgame, though the sanity testing step alone can happen earlier if there are no new candidates. @dbaeumer

Wednesday/Thursday - Expected release day (this may change)
  • Build stable for all platforms @dbaeumer
  • Build but don't release an insider build based on main for all platforms @dbaeumer
  • Sanity Testing
    • Windows 64 bit @benibenj
      • System Installer
      • User Installer
      • Archive
      • Server
      • CLI
    • Windows ARM64 @lszomoru
      • System Installer
      • User Installer
      • Archive
      • Server
      • CLI
    • macOS Intel @alexr00
      • Archive
      • Universal Archive
      • Server
      • CLI
    • macOS ARM64 @aiday-mar
      • Archive
      • Universal Archive
      • Server
      • CLI
    • Linux x64 @aeschli
      • Archive
      • DEB
      • RPM
      • Snap
    • Linux Server @dbaeumer and @aeschli (can be tested from any OS with Docker)
      • x64
      • ARM32
      • ARM64
      • x64 Alpine
      • ARM64 Alpine
    • Linux CLI @deepak1556 (can be tested from any OS with Docker)
      • x64
      • ARM32
      • ARM64
      • x64 Alpine
      • ARM64 Alpine
  • Publish website @ntrogh @dbaeumer
  • Release stable from builds page no later than 11am PT @dbaeumer
  • Trigger the vscode.dev Deploy pipeline for release/x.y for the prod deployment target. Note that there are four deploy approvals needed - one for overall and one per each of the three service regions @dbaeumer
    • Request approval from another team member at the necessary step to deploy the vscode.dev build. @dbaeumer
  • Create an official release @dbaeumer
    • Create a tag (make sure you pull the release branch first): git tag <x.y.z>
    • Push the tag: git push origin <x.y.z>
    • Create a GitHub release: Open the GitHub tags, and click far right ... > Create Release. Use the correct title and description from our release notes. Also change the relative links for the key highlight list items to absolute links Example
  • X announcement @chrisdias
  • Create and publish next release notes placeholder @ntrogh
  • Enable scheduled insider builds @dbaeumer
  • Release insiders based on main @dbaeumer
  • Publish @types/vscode @dbaeumer
  • Close the milestone on GitHub @dbaeumer
@dbaeumer dbaeumer added the endgame-plan VS Code - Next release plan for endgame label Dec 2, 2024
@dbaeumer dbaeumer added this to the November 2024 milestone Dec 2, 2024
@dbaeumer dbaeumer pinned this issue Dec 2, 2024
@iwangbowen
Copy link

The release day is the best day

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
endgame-plan VS Code - Next release plan for endgame
Projects
None yet
Development

No branches or pull requests

3 participants