Difference between revisions of "Steps for an official release"

From OpenEMR Project Wiki
Line 1: Line 1:
==Overview==
==Overview==
Steps detailing a release (4.2.1 is given as an example).
Steps detailing a release (4.3.0 is given as an example).


==1. Create a rel-421 branch from master in the git repo.==
==1. Create a rel-430 branch from master in the git repo.==
::* Login into the sourceforge shell and go to the git repo and type:
::* Login into the sourceforge shell and go to the git repo and type:
  git branch rel-421 master
  git branch rel-430 master


==2. Release an online development demo that uses the rel-412 branch and updates daily.==
==2. Release an online development demo that uses the rel-430 branch and updates daily.==
:*Also provide links for downloading rel-421 daily builds/packages(zip and tarball) to allow testing of installation and upgrading by testers
:*Also provide links for downloading rel-430 daily builds/packages(zip and tarball) to allow testing of installation and upgrading by testers


==3. Publish installation, upgrade, and downloading instructions==
==3. Publish installation, upgrade, and downloading instructions==
Line 14: Line 14:
:*Also update the INSTALL file
:*Also update the INSTALL file


==4. Finalize the translations in the rel-421 branch.==
==4. Finalize the translations in the rel-430 branch.==


==5. Bug fix and finalize the rel-421 branch.==
==5. Bug fix and finalize the rel-430 branch.==
:* Update the copyright/acknowledgements page by copying the copyright page from [[Talk:OpenEMR_Acknowledgments|HERE]] to acknowledge_license_cert.html in openemr codebase
:* Update the copyright/acknowledgements page by copying the copyright page from [[Talk:OpenEMR_Acknowledgments|HERE]] to acknowledge_license_cert.html in openemr codebase


==6. Create a list of new features in the rel-421 branch (since the last official release)==
==6. Create a list of new features in the rel-430 branch (since the last official release)==
:* [[Release_Features|Page for maintaining the new feature lists.]]
:* [[Release_Features|Page for maintaining the new feature lists.]]


Line 32: Line 32:
:::*changelog.Debian
:::*changelog.Debian
::::* Add entry for new version:
::::* Add entry for new version:
<pre>openemr (4.2.1-1) stable; urgency=low
<pre>openemr (4.3.0-1) stable; urgency=low


   * New upstream version
   * New upstream version
Line 43: Line 43:
::::*Update the algorithm to upgrade the previous version correctly
::::*Update the algorithm to upgrade the previous version correctly


==8. Release rel-421 branch by tagging in git repo with v4_2_1.==
==8. Release rel-430 branch by tagging in git repo with v4_3_0.==
::* Things to remember before tagging the release.
::* Things to remember before tagging the release.
:::* Remove -dev from $v_tag (make it blank) in the version.php file
:::* Remove -dev from $v_tag (make it blank) in the version.php file
Line 49: Line 49:
:::* Ensure the two User Manual links point to the correct online manual
:::* Ensure the two User Manual links point to the correct online manual
::* Login into the sourceforge shell and go to the git repo and type:
::* Login into the sourceforge shell and go to the git repo and type:
  git tag v4_2_1 rel-421
  git tag v4_3_0 rel-430


==9. Build the tar.gz, zip and deb packages from v4_2_1.==
==9. Build the tar.gz, zip and deb packages from v4_3_0.==
:Here is a script that automates the release builds below:
:Here is a script that automates the release builds below:
:*http://gist.github.com/bradymiller/5786409
:*http://gist.github.com/bradymiller/5786409

Revision as of 01:16, 5 January 2016

Overview

Steps detailing a release (4.3.0 is given as an example).

1. Create a rel-430 branch from master in the git repo.

  • Login into the sourceforge shell and go to the git repo and type:
git branch rel-430 master

2. Release an online development demo that uses the rel-430 branch and updates daily.

  • Also provide links for downloading rel-430 daily builds/packages(zip and tarball) to allow testing of installation and upgrading by testers

3. Publish installation, upgrade, and downloading instructions

4. Finalize the translations in the rel-430 branch.

5. Bug fix and finalize the rel-430 branch.

  • Update the copyright/acknowledgements page by copying the copyright page from HERE to acknowledge_license_cert.html in openemr codebase

6. Create a list of new features in the rel-430 branch (since the last official release)

7. Prepare files for the Ubuntu/debian package

  • Ensure following files are updated at openemr/contrib/util/ubuntu_package_scripts/production/ in codebase:
  • control
  • Update Version
  • Update Installed-Size (just estimate it, doesn't need to be accurate)
  • Add new package dependencies (if pertinent, for example in 4.1.0, adding php5-soap and also a Pre-Depends:debconf)
  • README.Debian
  • Change the dates at bottom of file to release date (use date -R to get correctly formatted date).
  • changelog.Debian
  • Add entry for new version:
openemr (4.3.0-1) stable; urgency=low

  * New upstream version

 -- Brady Miller <brady@sparmy.com>  Fri, 25 Mar 2011 22:46:08 -0700
  • copyright
  • Add current date near top (use date -R to get correctly formatted date)
  • Modify the copyright years (two of them), if needed
  • preinst
  • Update the algorithm to upgrade the previous version correctly

8. Release rel-430 branch by tagging in git repo with v4_3_0.

  • Things to remember before tagging the release.
  • Remove -dev from $v_tag (make it blank) in the version.php file
  • Ensure the 'allow_debug_language' global in locale section in library/globals.inc.php is defaulted to 0
  • Ensure the two User Manual links point to the correct online manual
  • Login into the sourceforge shell and go to the git repo and type:
git tag v4_3_0 rel-430

9. Build the tar.gz, zip and deb packages from v4_3_0.

Here is a script that automates the release builds below:

10. Release packages on sourceforge

  • Upload via Project Admin
  • Upload release and a release notes file
  • Set file properties appropriately

11. Announce Release

  • Sourceforge
  • Twitter
  • Facebook
  • google+
  • Diaspora
  • Linkedin
  • Linuxmednews
  • Wikipedia

12. Build and release the Windows XAMPP package.