Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:release_process [2024/08/20 13:02]
tedfelix [Plan the Release]
dev:release_process [2025/06/04 04:26] (current)
tedfelix [Update AboutDialog.cpp]
Line 27: Line 27:
 On the day of the feature freeze... On the day of the feature freeze...
  
 +  * Review experimental, alpha, and beta test features and decide whether to promote them and/or enable them by default.
   * Copy the latest version of the CHANGELOG to a new page [[:start#release_notes|on the wiki]].   * Copy the latest version of the CHANGELOG to a new page [[:start#release_notes|on the wiki]].
   * [optional] Put together a testing notes page for the new version on the wiki.  See [[dev:21.06_testing_notes|21.06 Testing Notes]].   * [optional] Put together a testing notes page for the new version on the wiki.  See [[dev:21.06_testing_notes|21.06 Testing Notes]].
   * Send a "Testing Appreciated" email to the user list.   * Send a "Testing Appreciated" email to the user list.
   * Make a "Testing Appreciated" post on f-book.   * Make a "Testing Appreciated" post on f-book.
 +
 +==== Regression Testing ====
 +
   * Run the unit tests with ''make test''.   * Run the unit tests with ''make test''.
   * Perform a regression test.   * Perform a regression test.
 +
 +==== Update Copyright ====
 +
 +Before the June release...  Check for any single copyright years that need to be expanded to a range.  E.g. "Copyright 2020 ...".
 +
 +  cd src
 +  grep -rh --include="*" "Copyright .* Rosegarden development team" . | sort | uniq
 +
 +Fix those manually to include the current year.
 +
 +From within the src directory, run the update-copyright script.
 +
 +  ../scripts/update-copyright
 +
 +Finally, commit the changes as Copyright Bot:
 +
 +  git commit -a --author="Copyright Bot <copyright@rosegardenmusic.com>" -m "Update copyright"
  
 ===== String Freeze ===== ===== String Freeze =====
Line 51: Line 72:
 On the eve of the release, send out a reminder for any last minute contributions and translations. On the eve of the release, send out a reminder for any last minute contributions and translations.
  
-===== Pending Changes =====+==== Pending Changes ====
  
 Check email for any pending changes or requests that need to be included in this release.  Make those changes as appropriate. Check email for any pending changes or requests that need to be included in this release.  Make those changes as appropriate.
  
-===== File Format Version =====+==== File Format Version ====
  
 Determine whether any changes have been made to the .rg file format.  The key routines are: Determine whether any changes have been made to the .rg file format.  The key routines are:
Line 71: Line 92:
 Changing the point version has no effect on anything as it is ignored.  Use this for things that might be annoying, but won't result in data loss.  Changing the minor version will cause an "incompatibilities" warning on load, but the file will be loaded.  Use this when data might be lost when opening a file with an older version of rg (e.g. new fields have been added).  Changing the major version will cause older versions of rg to refuse to load the file.  Obviously, we should avoid this at all costs.  The chances are good that we will never have to do this. Changing the point version has no effect on anything as it is ignored.  Use this for things that might be annoying, but won't result in data loss.  Changing the minor version will cause an "incompatibilities" warning on load, but the file will be loaded.  Use this when data might be lost when opening a file with an older version of rg (e.g. new fields have been added).  Changing the major version will cause older versions of rg to refuse to load the file.  Obviously, we should avoid this at all costs.  The chances are good that we will never have to do this.
  
-===== Update Copyright =====+==== Turn Off Logging ====
  
-Before the June release...  Check for any single copyright years that need to be expanded to a range.  E.g. "Copyright 2020 ...".+Search for any logging that is turned on and turn it off.
  
-  cd src +  grep -rnl --include="*.cpp" "^//#define RG_NOsrc
-  grep -rh --include="*" "Copyright .* Rosegarden development team" . | sort | uniq +
- +
-Fix those manually to include the current year. +
- +
-From within the src directory, run the update-copyright script. +
- +
-  ../scripts/update-copyright +
- +
-Finally, commit the changes as Copyright Bot: +
- +
-  git commit -a --author="Copyright Bot <copyright@rosegardenmusic.com>" -m "Update copyright" +
- +
-===== Testing =====+
  
-On the release date...+==== Testing ====
  
   * From a debug build, do ''make test'' to run unit tests.   * From a debug build, do ''make test'' to run unit tests.
Line 101: Line 109:
   * Do a Release build and a regression test.   * Do a Release build and a regression test.
  
-===== Finalize CHANGELOG =====+==== Finalize CHANGELOG ====
  
   * Add any new changes to the CHANGELOG.   * Add any new changes to the CHANGELOG.
   * Copy the latest version of the CHANGELOG to the wiki.   * Copy the latest version of the CHANGELOG to the wiki.
  
-===== Turn Off Logging ===== +==== Update appdata ====
- +
-Search for any logging that is turned on and turn it off. +
- +
-  grep -rnl --include="*.cpp" "^//#define RG_NO" src +
-===== Update appdata =====+
  
 Add release notes for the new release to the appdata file: Add release notes for the new release to the appdata file:
Line 123: Line 126:
   appstreamcli validate data/appdata/rosegarden.appdata.xml   appstreamcli validate data/appdata/rosegarden.appdata.xml
  
-===== Update the README =====+==== Update the README ====
  
 Update copyright year as needed. Update copyright year as needed.
Line 129: Line 132:
 Update anything else that seems like it needs updating. Update anything else that seems like it needs updating.
  
-===== Update AboutDialog.cpp =====+==== Update AboutDialog.cpp ====
  
-Update copyright year as needed.+<del>Update copyright year as needed.</del>  (This is now set programmatically.  No change needed.)
  
-===== Update data.qrc =====+==== Update data.qrc ====
  
 Get the latest yoshimi.rgd file from https://github.com/lorenzosu/rosegarden_yoshimi_banks/ Get the latest yoshimi.rgd file from https://github.com/lorenzosu/rosegarden_yoshimi_banks/
Line 141: Line 144:
 Run "scripts/rebuild-qrc-nosvn" to make sure the data.qrc file is up-to-date. Run "scripts/rebuild-qrc-nosvn" to make sure the data.qrc file is up-to-date.
  
-===== Check Code Name and Version =====+==== Check Code Name and Version ====
  
 Check/adjust the code name/version number in CMakeLists.txt. Check/adjust the code name/version number in CMakeLists.txt.
Line 147: Line 150:
 //The code name/version number should have been bumped after the last delivery, so this should be OK.// //The code name/version number should have been bumped after the last delivery, so this should be OK.//
  
-===== Commit Changes =====+==== Commit Changes ====
  
 If needed: If needed:
Line 154: Line 157:
   git push   git push
  
-===== Create tarball =====+===== Release Day ===== 
 + 
 +==== Create tarball ==== 
 + 
 +Finally, on the release date...
  
 Download a snapshot from the [[https://sourceforge.net/p/rosegarden/git/ci/master/tree/|git repo page on SourceForge]]. Download a snapshot from the [[https://sourceforge.net/p/rosegarden/git/ci/master/tree/|git repo page on SourceForge]].
Line 162: Line 169:
   <path-to-source>/scripts/make-release-tarball <snapshot-name>.zip   <path-to-source>/scripts/make-release-tarball <snapshot-name>.zip
  
-===== Test tarball =====+==== Test tarball ====
  
 Sanity test the tarball.  Build and run from it. Sanity test the tarball.  Build and run from it.
  
-===== Tag the Release =====+==== Tag the Release ====
  
 From the sourcebase... From the sourcebase...
Line 173: Line 180:
   git push --tags   git push --tags
  
-===== Deliver =====+==== Deliver ==== 
 + 
 +SourceForge
  
   - Create new version directory on sf   - Create new version directory on sf
Line 180: Line 189:
   - Update sourceforge to point to the new version.  Use the "i" icon to the right of the file.  Set "Default Download For:" to Tux.   - Update sourceforge to point to the new version.  Use the "i" icon to the right of the file.  Set "Default Download For:" to Tux.
  
-===== Update Website =====+GitHub 
 + 
 +  * Create a release. 
 + 
 +==== Update Website ====
  
 Update the website to point to the new version.  The website can be updated by committing changes to the website directory in svn.  These are automatically uploaded to the web server.  The webpages use Server Side Includes (SSI), so you'll need to set up a web server to test before uploading changes. Update the website to point to the new version.  The website can be updated by committing changes to the website directory in svn.  These are automatically uploaded to the web server.  The webpages use Server Side Includes (SSI), so you'll need to set up a web server to test before uploading changes.
Line 204: Line 217:
 //See https://sourceforge.net/p/rosegarden/code/14701/ for an example.// //See https://sourceforge.net/p/rosegarden/code/14701/ for an example.//
  
- +==== Update CMakeLists.txt ====
-===== Update CMakeLists.txt =====+
  
 Bump the version number and codename. Bump the version number and codename.
Line 211: Line 223:
 Commit. Commit.
  
- +==== Announce ====
-===== Announce =====+
  
   * user list   * user list
Line 220: Line 231:
   * etc...?   * etc...?
  
-===== Clean Up Sourceforge =====+===== Post-Release ===== 
 + 
 +==== Clean Up Sourceforge ====
  
   * Bugs: Go through all "feedback" and close.   * Bugs: Go through all "feedback" and close.
   * Feature Requests: Go through all "feedback" and close.   * Feature Requests: Go through all "feedback" and close.
 +  * Patches: Go through all "feedback" and close.
   * Close any merge requests that were accepted.   * Close any merge requests that were accepted.
  
 
 
dev/release_process.1724158954.txt.gz · Last modified: 2024/11/29 18:16 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki