Repository navigation
Release plan for 2018.4.0 #1238
Copy link
Copy link
Closed
Description
Helpful links & info:
Schedule
Monday, Apr 02
- Review the state of the current milestone
- Go through telemetry for GDPR
- Go through all merged pull requests and add the
validate fixlabel as appropriate as well as checking for news entries
Planning
- Evaluate if TypeScript usage needs updating to sync with VS Code's usage
- Evaluate projects &
metaissues - Go through
needs PRissues to see if there's anything we want to add to this milestone - Finalize the initial set of issues for the milestone
- Make sure all issues for this milestone are assigned
- Close issues that have needed more info for over a month
Monday, Apr 09
- Review the state of the current milestone
- Go through telemetry for GDPR
- Go through all merged pull requests and add the
validate fixlabel as appropriate as well as checking for news entries
Planning
- Check if there have been no performance regressions
- Read through VS Code's iteration plan (it may still be a draft)
Monday, Apr 16
- Review the state of the current milestone
- Go through telemetry for GDPR
- Go through all merged pull requests and add the
validate fixlabel as appropriate as well as checking for news entries
Monday, Apr 23
- Review the state of the current milestone
- Go through telemetry for GDPR
- Go through all merged pull requests and add the
validate fixlabel as appropriate as well as checking for news entries
Legal
- Announce the lock-down of dependencies for this release
- Notify CELA of all changes to the repository and distribution dependencies
Release a beta version for testing
- Update the version to be a
beta& update the changelog - Announce the beta development build (along with how to help validate fixes)
- Open appropriate documentation issues
Monday, Apr 30
- Review the state of the current milestone
- Go through telemetry for GDPR
- Merge any last-minute pull requests
- Go through all merged pull requests and add the
validate fixlabel as appropriate as well as checking for news entries
Prep for the release candidate
- Announce feature freeze
- Make sure the repo and distribution TPNs have been updated appropriately
Test the release candidate code
- Update the version to be an
rc& update the changelog - Announce the release candidate development build
- Open appropriate documentation issues
- Begin drafting a blog post
Prep the release
- Ensure all new feature usages are tracked via telemetry
- Make sure no extraneous files are being included in the
.vsixfile (make sure to check for hidden files) - Make sure the appropriate pull requests for the documentation -- including the WOW page -- are ready
Wednesday, May 02 (hopefully 😉)
Release
- Update the changelog (including the names of external contributors & projects)
- Update the version number to be final
- Make sure CI is passing
- Create the
release-branch - Generate final
.vsixfile from therelease-branch - Upload the final
.vsixfile to the marketplace - Publish documentation changes
- Publish the blog post
- Create a release on GitHub (which creates an appropriate git tag)
Prep for the next release
- Bump the version number to the next
alpha - Make sure the next two milestones exist
- Lift the feature freeze
- Create a new release plan
Clean up after this release
- Clean up any straggling fixed issues needing validation
- Close the (now) old milestone
- Delete the previous releases' branch
Reactions are currently unavailable
Activity
brettcannon commentedon Mar 29, 2018
How to participate
Please test against the latest development build of the extension.
Paste the release plan template into a new comment on this issue, fill in your system's details, go through the test plan, and then have the appropriate testing targets above checked off for your system.
Once you are finished, let the testing lead know you are completed so they can move your test setup from the "in progress" section to "finished" (an
@mention is fine).Testing targets
OS
Python
Distribution
Version
VS Code
Tested
Finished
In progress
DonJayamanne commentedon Mar 30, 2018
I'm assuming we'd assign one section (e.g. Linting) to one person.
brettcannon commentedon Apr 23, 2018
Test plan
Environment
Tests
Scenarios
ALWAYS check the
Outputwindow underPythonfor logged errors!Environment
Interpreters
Select Interpretercommand"python.pythonPath"triggers an update in the status barRun Python File in TerminalRun Selection/Line in Python TerminalVirtual environments
ALWAYS create environments with a space in their name.*
"python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks"python.venvPath""python.terminal.activateEnvironments": falsedeactivates detectionCreate TerminalworksEnvironment files
Sample files:
.envfile are exposed when running under the debugger"python.envFile"allows for specifying an environment file manuallyDebugging
pythonPathsetting in yourlaunch.jsonoverrides yourpython.pythonPathdefault settingLinting
ALWAYS check under the
Problemstab to see e.g. if a linter is raising errors!Pylint/default linting
[Prompting to install Pylint is covered under
Environmentsabove]For testing the disablement of the default linting rules for Pylint:
Other linters
Run Lintingruns all lintersSelect Lintercommand lists all the above linters and prompts to install a linter when missing"python.linting.enabled"disables all lintersEnable Lintingcommand changes"python.linting.enabled""python.linting.lintOnSaveworksEditing
IntelliSense
Please also test for general accuracy on the most "interesting" code you can find.
"python.autoComplete.extraPaths"works"python.autoComplete.preloadModules"works"python.autocomplete.addBrackets": truecauses auto-completion of functions to append()Formatting
"editor.formatOnType": trueworks and has expected resultsRefactoring
Extract VariableworksExtract methodworksSort ImportsworksDebugging
Test both old and new debugger (and notice if the new debugger seems at least as fast as the old debugger).
Current FileModuleAttachTerminal (integrated)Terminal (external)DjangoFlaskPyramidWatsonScrapyPySparkAll debug Optionswith appropriate values changedVariablessection of debugger sidebarUnit testing
unittestRun All Unit Teststriggers the prompt to configure the test runnerpytestRun All Unit Teststriggers the prompt to configure the test runnernoseRun All Unit Teststriggers the prompt to configure the test runnerGeneral
Run Testlens works (and status bar updates as appropriate)Debug Testlens worksRun All Unit TestsworksDiscover Unit Testsworks (resets tests result display in status bar)Run Unit Test Method ...worksView Unit Test OutputworksRun Failed TestsworksDonJayamanne commentedon Apr 23, 2018
Test plan
Environment
Tests
ALWAYS check the
Outputwindow underPythonfor logged errors!Environment
Interpreters
Scenarios
Select Interpretercommand"python.pythonPath"triggers an update in the status barRun Python File in TerminalRun Selection/Line in Python TerminalVirtual environments
ALWAYS create environments with a space in their name.*
--user"python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks"python.venvPath""python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks-mis supported) Detected the virtual environment created by pipenvpipenv install --dev"python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks{workspaceFolder}/.direnv/python-{python_version}for direnv and itslayout python3support"python.terminal.activateEnvironments": falsedeactivates detectionEnvironment files
Sample files:
.envfile are exposed when running under the debugger"python.envFile"allows for specifying an environment file manuallyDebugging
pythonPathsetting in yourlaunch.jsonoverrides yourpython.pythonPathdefault settingLinting
ALWAYS check under the
Problemstab to see e.g. if a linter is raising errors!Pylint/default linting
[Prompting to install Pylint is covered under
Environmentsabove]For testing the disablement of the default linting rules for Pylint:
"python.linting.pylintUseMinimalCheckers": falseturns off the default rules w/ nopylintrcfile presentpylintrcfile turns off the default rulesOther linters
Run Lintingruns all lintersSelect Lintercommand lists all the above linters and prompts to install a linter when missing"python.linting.enabled"disables all lintersEnable Lintingcommand changes"python.linting.enabled""python.linting.lintOnSaveworksEditing
IntelliSense
Please also test for general accuracy on the most "interesting" code you can find.
"python.autoComplete.extraPaths"works"python.autoComplete.preloadModules"works"python.autocomplete.addBrackets": truecauses auto-completion of functions to append()Formatting
"editor.formatOnType": trueworks and has expected resultsRefactoring
Extract VariableworksExtract methodworksSort ImportsworksDebugging
Test both old and new debugger (and notice if the new debugger seems at least as fast as the old debugger).
Current FileModuleAttachTerminal (integrated)Terminal (external)DjangoFlaskPyramidWatsonScrapyPySparkAll debug Optionswith appropriate values changedVariablessection of debugger sidebarUnit testing
unittestRun All Unit Teststriggers the prompt to configure the test runnerpytestRun All Unit Teststriggers the prompt to configure the test runnernoseRun All Unit Teststriggers the prompt to configure the test runnerGeneral
Run Testlens works (and status bar updates as appropriate)Debug Testlens worksRun All Unit TestsworksDiscover Unit Testsworks (resets tests result display in status bar)Run Unit Test Method ...worksView Unit Test OutputworksRun Failed TestsworksDonJayamanne commentedon Apr 24, 2018
Test plan
Environment
Tests
ALWAYS check the
Outputwindow underPythonfor logged errors!Scenarios
Environment
Interpreters
Select Interpretercommand"python.pythonPath"triggers an update in the status barRun Python File in TerminalRun Selection/Line in Python TerminalCtrl-EnterVirtual environments
ALWAYS create environments with a space in their name.*
Create Terminalworks"python.terminal.activateEnvironment": falseturns off automatic activation of the environment"python.venvPath""python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks-mis supported) Detected the virtual environment created by pipenvpipenv install --dev"python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks{workspaceFolder}/.direnv/python-{python_version}are detected (for direnv and itslayout python3support)"python.terminal.activateEnvironments": falsedeactivates detectionEnvironment files
Sample files:
Make sure to use
Reload Windowbetween tests to reset your environment!.envfile are exposed when running under the debugger"python.envFile"allows for specifying an environment file manually (e.g. Jedi picks upPYTHONPATHchanges)envFilein alaunch.jsonconfiguration worksDebugging
pythonPathsetting in yourlaunch.jsonoverrides yourpython.pythonPathdefault settingLinting
ALWAYS check under the
Problemstab to see e.g. if a linter is raising errors!Pylint/default linting
[Prompting to install Pylint is covered under
Environmentsabove]For testing the disablement of the default linting rules for Pylint:
--userfor system-install of Python"python.linting.pylintUseMinimalCheckers": falseturns off the default rules w/ nopylintrcfile presentpylintrcfile turns off the default rulesOther linters
You can always use the
Run Lintingcommand to immediately trigger a newly installed linter.Run Lintingruns all lintersSelect Lintercommand lists all the above linters and prompts to install a linter when missing"python.linting.enabled": falsedisables all lintersEnable Lintingcommand changes"python.linting.enabled""python.linting.lintOnSaveworksEditing
IntelliSense
Please also test for general accuracy on the most "interesting" code you can find.
"python.autoComplete.extraPaths"works"python.autoComplete.preloadModules"works"python.autocomplete.addBrackets": truecauses auto-completion of functions to append()Formatting
Sample file:
Format Documentis runautopep8worksyapfworks"editor.formatOnType": trueworks and has expected resultsRefactoring
Extract Variableworksropeif it is not already availableExtract methodworksropeif it is not already availableSort ImportsworksDebugging
Test both old and new debugger (and notice if the new debugger seems at least as fast as the old debugger).
Current FileModuleAttachTerminal (integrated)Terminal (external)DjangoFlaskPyramidWatsonScrapyPySparkAll debug Optionswith appropriate values edited to make values validVariablessection of debugger sidebarUnit testing
unittestRun All Unit Teststriggers the prompt to configure the test runnerpytestRun All Unit Teststriggers the prompt to configure the test runnerpytestgets installednoseRun All Unit Teststriggers the prompt to configure the test runnerGeneral
Run Testlens works (and status bar updates as appropriate)Debug Testlens worksRun All Unit TestsworksDiscover Unit Testsworks (resets tests result display in status bar)Run Unit Test Method ...worksView Unit Test OutputworksRun Failed Testsworksericsnowcurrently commentedon Apr 24, 2018
Test plan
Environment
Tests
Tests
ALWAYS check the
Outputwindow underPythonfor logged errors!Environment
Interpreters
Select Interpretercommand"python.pythonPath"triggers an update in the status barRun Python File in TerminalRun Selection/Line in Python TerminalCtrl-EnterVirtual environments
ALWAYS create environments with a space in their name.*
Create Terminalworks"python.terminal.activateEnvironment": falseturns off automatic activation of the environment"python.venvPath""python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks-mis supported) Detected the virtual environment created by pipenvpipenv install --dev"python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks{workspaceFolder}/.direnv/python-{python_version}are detected (for direnv and itslayout python3support)"python.terminal.activateEnvironments": falsedeactivates detectionEnvironment files
Sample files:
Make sure to use
Reload Windowbetween tests to reset your environment!.envfile are exposed when running under the debugger"python.envFile"allows for specifying an environment file manually (e.g. Jedi picks upPYTHONPATHchanges)envFilein alaunch.jsonconfiguration worksDebugging
pythonPathsetting in yourlaunch.jsonoverrides yourpython.pythonPathdefault settingLinting
ALWAYS check under the
Problemstab to see e.g. if a linter is raising errors!Pylint/default linting
[Prompting to install Pylint is covered under
Environmentsabove]For testing the disablement of the default linting rules for Pylint:
--userfor system-install of Python"python.linting.pylintUseMinimalCheckers": falseturns off the default rules w/ nopylintrcfile presentpylintrcfile turns off the default rulesOther linters
You can always use the
Run Lintingcommand to immediately trigger a newly installed linter.Run Lintingruns all lintersSelect Lintercommand lists all the above linters and prompts to install a linter when missing"python.linting.enabled": falsedisables all lintersEnable Lintingcommand changes"python.linting.enabled""python.linting.lintOnSaveworksEditing
IntelliSense
Please also test for general accuracy on the most "interesting" code you can find.
"python.autoComplete.extraPaths"works"python.autoComplete.preloadModules"works"python.autocomplete.addBrackets": truecauses auto-completion of functions to append()Formatting
Sample file:
Format Documentis runautopep8worksyapfworks"editor.formatOnType": trueworks and has expected resultsRefactoring
Extract Variableworksropeif it is not already availableExtract methodworksropeif it is not already availableSort ImportsworksDebugging
Test both old and new debugger (and notice if the new debugger seems at least as fast as the old debugger).
Current FileModuleAttachTerminal (integrated)Terminal (external)DjangoFlaskPyramidWatsonScrapyPySparkAll debug Optionswith appropriate values edited to make values validVariablessection of debugger sidebarUnit testing
unittestRun All Unit Teststriggers the prompt to configure the test runnerpytestRun All Unit Teststriggers the prompt to configure the test runnerpytestgets installednoseRun All Unit Teststriggers the prompt to configure the test runnerGeneral
Run Testlens works (and status bar updates as appropriate)Debug Testlens worksRun All Unit TestsworksDiscover Unit Testsworks (resets tests result display in status bar)Run Unit Test Method ...worksView Unit Test OutputworksRun Failed Testsworksint19h commentedon Apr 24, 2018
Test plan
Environment
Tests
ALWAYS check the
Outputwindow underPythonfor logged errors!Environment
Interpreters
Select Interpretercommand"python.pythonPath"triggers an update in the status barRun Python File in TerminalRun Selection/Line in Python TerminalCtrl-EnterVirtual environments
ALWAYS create environments with a space in their name.*
Create Terminalworks"python.terminal.activateEnvironment": falseturns off automatic activation of the environment"python.venvPath""python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks-mis supported) Detected the virtual environment created by pipenvpipenv install --dev"python.terminal.activateEnvironments": falsedeactivates detectionCreate Terminalworks{workspaceFolder}/.direnv/python-{python_version}are detected (for direnv and itslayout python3support)"python.terminal.activateEnvironments": falsedeactivates detectionEnvironment files
Sample files:
Make sure to use
Reload Windowbetween tests to reset your environment!.envfile are exposed when running under the debugger"python.envFile"allows for specifying an environment file manually (e.g. Jedi picks upPYTHONPATHchanges)envFilein alaunch.jsonconfiguration worksDebugging
pythonPathsetting in yourlaunch.jsonoverrides yourpython.pythonPathdefault settingLinting
ALWAYS check under the
Problemstab to see e.g. if a linter is raising errors!Pylint/default linting
[Prompting to install Pylint is covered under
Environmentsabove]For testing the disablement of the default linting rules for Pylint:
--userfor system-install of Python"python.linting.pylintUseMinimalCheckers": falseturns off the default rules w/ nopylintrcfile presentpylintrcfile turns off the default rulesOther linters
You can always use the
Run Lintingcommand to immediately trigger a newly installed linter.Run Lintingruns all lintersSelect Lintercommand lists all the above linters and prompts to install a linter when missing"python.linting.enabled": falsedisables all lintersEnable Lintingcommand changes"python.linting.enabled""python.linting.lintOnSaveworksEditing
IntelliSense
Please also test for general accuracy on the most "interesting" code you can find.
"python.autoComplete.extraPaths"works"python.autoComplete.preloadModules"works"python.autocomplete.addBrackets": truecauses auto-completion of functions to append()Formatting
Sample file:
Format Documentis runautopep8worksyapfworks"editor.formatOnType": trueworks and has expected resultsRefactoring
Extract Variableworksropeif it is not already availableExtract methodworksropeif it is not already availableSort ImportsworksDebugging
Test both old and new debugger (and notice if the new debugger seems at least as fast as the old debugger).
Current FileModuleAttachTerminal (integrated)Terminal (external)DjangoFlaskPyramidWatsonScrapyPySparkAll debug Optionswith appropriate values edited to make values validVariablessection of debugger sidebarUnit testing
unittestRun All Unit Teststriggers the prompt to configure the test runnerpytestRun All Unit Teststriggers the prompt to configure the test runnerpytestgets installednoseRun All Unit Teststriggers the prompt to configure the test runnerGeneral
Run Testlens works (and status bar updates as appropriate)Debug Testlens worksRun All Unit TestsworksDiscover Unit Testsworks (resets tests result display in status bar)Run Unit Test Method ...worksView Unit Test OutputworksRun Failed TestsworksAdd vscode debug configuration