[dev] How to do a proper release
Jan Schneider
jan at horde.org
Thu May 2 16:10:25 UTC 2019
Zitat von Ralf Lang <lang at b1-systems.de>:
> Hallo,
>
> as the composer effort slowly reaches "usability for early birds", I
> noticed the components release tool still holds mysteries and some horde
> server side magic. I don't see through yet.
> Either there is some undocumented process around using the tool or it
> does not really support a "downstream release" independent of the
> horde.org services.
>
> Here are my guesses. Please show me where I am wrong or missing something.
>
> Assuming I have added a bug fix or feature to the horde master branch,
> it contains a neat commit message, checks pass, upstream has reviewed,
> what would need handling
>
> -- Formal creation of a next version (what a downstream release also
> would need to do)
>
> - The patch or feature needs porting to the maintained branches
> (typically one) or a new maint branch (new significant version) needs to
> be forked from master
Correct.
> - The maintained branches each need a minor or patch version bump.
Usually not necessary, because this happens at the end of a release.
> - CHANGES, horde yaml file, composer file, pear package manifesto all
> need updated changelog, version bump
Yes,but most of it done automatically now.
> - The hardcoded version inside the Application.php needs bumping (apps only)
No, this is done by the release script too.
> - Something with sentinels and template files?
No, see above.
> - Commit to the maintained branch, tag with the new version
No, see above.
> - Possibly create a real tgz from the pear manifesto?
No, see above.
So all of this actually yes, but done automatically.
> --- Actual release (what a real upstream release does)
>
> - Push pear package to pear.horde.org
Yes.
> - Send out some mail from templates and package metadata
Yes.
> - push to packagist?
No, we only maintain PEAR repos at this time.
> - Update website?
Indeed.
> - Update horde bug tracker menu options
True.
> -- Mystery: Versions
>
> I don't get it right how versions are handled.
>
> In Applications:
>
> - The tagged releases have proper versions -public $version = 'H5 (5.0.7)';
> - Master and maint branch have -git versionspublic $version = 'H5
> (5.0.8-git)'; public $version = 'H5 (6.0.0-git)';
Correct.
> In CHANGES file, there is no distinction in libraries but in apps?
I don't understand?
> changelog.yml seems to have no -git versions
Yes, true.
> package.xml has no -dev
> https://github.com/horde/base/blob/master/package.xml
Correct. This may be inconsistent, but probably because we only add
-git suffixes where necessary, i.e. where publically visible.
--
Jan Schneider
The Horde Project
https://www.horde.org/
More information about the dev
mailing list