-
Notifications
You must be signed in to change notification settings - Fork 269
Releasing a new version of Poor Man's T SQL Formatter
Tao Klerks edited this page Jan 15, 2019
·
12 revisions
As this project takes on more and more exposure mechanisms (npm library, npm cli, Atom plugin, and likely others in addition to the 5 or so prior existing exposures), getting a release "out" becomes more and more complicated, and it becomes more and more likely that we'll mess it up somehow - so this is an attempt to document a reasonably-complete checklist.
- Ensure that the version numbers are updated on all the C# projects in the PoorMansTSqlFormatter.git project/repo
- There is now a single powershell script for doing this, in the root: VersionBump.ps1
- Ensure that any new language content (eg a new option) is correctly translated in all contexts (Demo app, c# cmdline formatter, plugins)
- Including avoiding the accidental intruduction of unnecessary/harmful per-language properties in form-specific resx files by Visual Studio
- Ensure that everything tests correctly
- Ensure the JS is built and checked in (after version number update) in that main project, and that the commit is merged to the master branch and pushed to GitHub
- Produce and publish online (somewhere - not yet clear where) all the "artifacts" from that project:
- NPP 32-bit plugin
- NPP 64-bit plugin
- .Net Command-Line formatter
- Winforms Demo app
- SSMS/VS Add-In Setup Program
- SSMS/VS VSIX Package
- SSMS Package Installer
- .Net 2.0 Library
- .Net 3.5 Library
- .Net Standard 1.0 Library
- Publish the SSMS/VS VSIX Package to the Visual Studio Marketplace
- "Build" the new library into the NPM Package, run tests, update the NPM package version, commit&push, and publish the NPM package
- "NPM update" the NPM library into the NPM CLI tool project, run tests, update the NPM package version, commit&push, and publish the NPM package
- "NPM update" the NPM library into the Atom Editor plugin project, run tests, update the plugin package version, commit&push, and publish the Atom plugin ("apm publish patch/minor/major")
- "NPM update" the NPM library into the VSCode extension project, run tests, update the extension package version, commit&push, and publish the VSCode extension
- "NPM Update" the poorsql.com site project, update the version in the site code, re-build the AppCache manifest, run manual testing, commit&push. (not yet applicable)
- Ensure that the NPP plugins are published to the NPP Plugin Admin List
- Update the project page with change announcement
- Announce changes on Twitter
Future:
- Clean up some clearly-redundant steps around version updates (make them dynamic / inherited)
- EG Artifact Zipping and filename-version-numbering
- Find a better place to host the download files (for manual download, and for NPP plugin manager download, and for JS Lib) than private site
- Add CI tools where possible to reduce the need for manual spot-checking
- Add any future exposures (Atom editor, VS Code, etc)