wiki:Release

Version 6 (modified by szabgab, 5 years ago) (diff)

--

Release

Packaging and Distribution

Release of Padre

As of release 0.21 we started a rotation of release managers for Padre. See Release_History

  • Obtain co-maintenance permissions for all of the namespaces in the Padre distribution. Talk to Gábor Szabó (szabgab), Adam Kennedy (Alias), or Steffen Müller (tsee) about this.
  • cd to trunk/Padre
  • Make sure the Changes file is up to date and manually update if necessary, add the vX.XX Date string at the top (commit)
  • run perl ../tools/tidy_pm_files.pl that will apply blessed padre style in every module. (commit)
  • run perl ../tools/update_version_number.pl VERSION that will update the version number in every module and report if there was no VERSION entry in a module. Those need to be fixed. (commit)
  • run perl ../tools/release.pl --revision REV --version VERSION [--tag] will try to create a distribution using a temporary directory and copy the resulting Padre-X.XX.tar.gz in the current directory. The optional --tag flag will also create a tag in SVN. So the release manager first can run it dry and when she is sure it creates a good release can run it again to also tag it in SVN.
  • Upload to http://perlide.org/download/source/ (needs to be done by Gabor)
  • try installing it using pip, tell people on IRC #padre about it
  • Upload to PAUSE
  • Send announcement to padre-dev mailing list
  • Send announcement to padre-news mailing list (Gabor might need to send the message but at leas he needs to approve it after you sent it)
  • Submit announcement to http://use.perl.org/ or some other well-read blog (e.g. one that is syndicated on Iron Man and on http://blogs.padre.perlide.org/ )
  • Update the Release History
  • Add the version number to the list of versions in Trac (Gabor needs to do this)
  • Important: Assign primary maintainer status to Gabor (PAUSE ID 'SZABGAB') for all namespaces that are new in the current release.
    • Log into your PAUSE account
    • Click "View Permissions" in the menu
    • Note all Padre::* classes for which you are listed as "first-come" (as opposed to "co-maint").
    • Click "Change Permissions" in the menu
    • Under "2. You are primary maintainer:" select any one or all of the Padre::* namespaces that appear in the list view.
    • Click Select for "2.1 Pass primary maintainership status to somebody else (giving it up at the same time)"
    • Make sure all Padre::* namespaces are selected in the new listbox.
    • Enter "SZABGAB" in the text field.
    • Click "Pass Maintainership Status".
    • You will automatically become co-maintainer instead of primary maintainer of the classes in question.
  • ppm creation:
  • Create executable for Linux:

Release of Padre using a branch

In order to allow a few days of stabilization of Padre and to allow the translators to catch up while allowing everyone else to freely work on the main trunk we can start releasing from a branch. Trying to capture the process here.

Release of Plugins and other packages

The packages can use either Makefile.PL (Module::Install) or Build.PL (Module::Build). We have not tested the below process with ExtUtils::Makemaker

No need to keep MANIFEST and META.yml in version control!

Add to MANIFEST.SKIP

# avoid pot files (gettext)
\.pot$

If you are using Module::Build

Don't add a Makefile.PL to the version control as it will be created during packaging

Release process

  • cd to the directory of the plugin or the package
  • ../tools/
  • run perl ../tools/tidy_pm_files.pl (commit)
  • run perl ../tools/update_version_number.pl VERSION and update Changes (commit)
  • run perl ../tools/release.pl REV VERSION [--tag]
  • upload to PAUSE