diff --git a/Release-Process.md b/Release-Process.md new file mode 100644 index 0000000..c80afe1 --- /dev/null +++ b/Release-Process.md @@ -0,0 +1,28 @@ +## Introduction +--- + +Doing a Dolphin Release does require some steps, but if you know what to do it's fairly straightforward. + +Releases are supposed to be tagged on the "stable" branch. Whenever a major release is about to be released, the "master" branch needs to be merged into "stable". For hotfix releases, the important commits should be cherry-picked manually from master. + +## Details +--- + +1. Merge master into the 'stable' branch such that after merge "stable == master". All following steps refer to that branch. +2. Edit the main `CMakeLists.txt` file and change `set(DOLPHIN_IS_STABLE, FALSE)` to `set(DOLPHIN_IS_STABLE, TRUE)`. Also, update the `DOLPHIN_VERSION_MAJOR`, `DOLPHIN_VERSION_MINOR` and `DOLPHIN_VERSION_PATCH` lines. +3. Update `PRODUCT_VERSION` in `Installer/Installer.nsi`. +4. Create an **annotated** tag named after the version number. +5. Perform a **clean** Windows build of the "Release Win32" and "Release x64" configurations. +6. Install NSIS if you haven't already; Create the Windows installers via the `Installer_win32.nsi` and `Installer_x64.nsi` files respectively (stored inside the `Installer` subdirectory). +7. XX I'm using this to compile for Mac OS X, but it needs to be updated as post-4.0.1 has libusbx built in and LTO should be in the CMakeLists: `cmake . -DCMAKE_C_FLAGS="-O4 -DNDEBUG" -DCMAKE_CXX_FLAGS="-O4 -DNDEBUG -DLIBUSB_INCLUDE_DIR=/opt/usb/include/libusb-1.0 -DLIBUSB_LIBRARIES=/opt/usb/lib/libusb-1.0.0.dylib && make -j8` +8. For Mac OS X, create a dmg as follows: `hdiutil create dolphin-4.0.1.dmg -volname "Dolphin 4.0.1" -fs HFS+ -srcfolder Binaries -ov` +9. TODO: Create Non-Windows installers. +10. Create a changes summary for broad consumption. +11. Write release announcement as a blog article on the homepage +12. Upload installers to homepage +13. Publish announcement blog article +14. Create a minimalistic forum thread about the release (cf. [the 4.0 announcement](https://forums.dolphin-emu.org/Thread-dolphin-4-0-release-announcement)) and update the blog article to link to this thread for discussion. +15. Forward announcement to social media (Facebook, …). +16. Update the forum header to say that a new release has happened (Admin CP, Templates&Style, Templates, Simpl Templates, Header Templates, header, Options, Full Edit, then update the html with the new version and links) +17. Update the wiki templates [https://wiki.dolphin-emu.org/index.php?title=MediaWiki:Sitenotice](https://wiki.dolphin-emu.org/index.php?title=MediaWiki:Sitenotice) and [https://wiki.dolphin-emu.org/index.php?title=MediaWiki:Anonnotice](https://wiki.dolphin-emu.org/index.php?title=MediaWiki:Anonnotice) with the appropriate version and links. +18. **Major** releases only: Merge stable back to master to bump the version number. \ No newline at end of file