Difference between revisions of "ReleaseProcess"
Rdoursenaud (talk | contribs) (Création) |
Rdoursenaud (talk | contribs) m (Added prefix to comments) |
||
Line 3: | Line 3: | ||
This document is a draft trying to understand what is going on to release dolibarr. | This document is a draft trying to understand what is going on to release dolibarr. | ||
− | ''I intend to use it as a base to revamp the whole releasing process.'' | + | RD: ''I intend to use it as a base to revamp the whole releasing process.'' |
== Officialy maintained == | == Officialy maintained == | ||
Line 19: | Line 19: | ||
* Zipped archive | * Zipped archive | ||
− | ''I'd build it from the tarball'' | + | RD: ''I'd build it from the tarball'' |
=== Distribution packages === | === Distribution packages === | ||
− | ''I'd make these from the release tarball.'' | + | RD: ''I'd make these from the release tarball.'' |
==== RPM ==== | ==== RPM ==== | ||
− | ''Can't all of these be unified?'' | + | RD: ''Can't all of these be unified?'' |
− | + | ||
+ | LD: ''This is what Generic below is for but specific versions are needed for distro integration'' | ||
+ | |||
+ | RD: ''I think that Debian integration is ongoing, what about other distros?'' | ||
+ | |||
+ | ''Isn't this the distribution package maintainer responsibility, not the release managers?'' | ||
+ | |||
* Generic | * Generic | ||
* Fedora | * Fedora | ||
− | ''RedHat?'' | + | RD: ''RedHat?'' |
* Mandriva | * Mandriva | ||
− | ''Is this really needed? I mean who still uses mandriva these days?'' | + | RD: ''Is this really needed? I mean who still uses mandriva these days?'' |
* OpenSuse | * OpenSuse | ||
Line 44: | Line 50: | ||
* Debian | * Debian | ||
− | ''Ubuntu?'' | + | RD: ''Ubuntu?'' |
=== Installers === | === Installers === | ||
Line 50: | Line 56: | ||
* Windows (DoliWamp, exe) | * Windows (DoliWamp, exe) | ||
− | ''This one is the most involved. We need a better spec of the process.'' | + | RD: ''This one is the most involved. We need a better spec of the process.'' |
== '''Not''' officially maintained == | == '''Not''' officially maintained == | ||
− | ''Need volunteers?'' | + | RD: ''Need volunteers?'' |
These packages are not officially maintained but are in the source tree. Maybe we'd want to have them work one day or another. | These packages are not officially maintained but are in the source tree. Maybe we'd want to have them work one day or another. | ||
Line 62: | Line 68: | ||
* [https://github.com/edumbill/doap/wiki DOAP] | * [https://github.com/edumbill/doap/wiki DOAP] | ||
− | ''Is this even a package format?'' | + | RD: ''Is this even a package format?'' |
* Doxygen (Developer documentation) | * Doxygen (Developer documentation) | ||
− | ''Again, not a package format, but this should certainly be published somewhere for each released version'' | + | RD: ''Again, not a package format, but this should certainly be published somewhere for each released version'' |
* Launchpad (https://launchpad.net/dolibarr) | * Launchpad (https://launchpad.net/dolibarr) | ||
− | ''Ubuntu packages and build system?'' | + | RD: ''Ubuntu packages and build system?'' |
* Live CD | * Live CD | ||
− | ''Really? What for? Demos? Looks overkill'' | + | RD: ''Really? What for? Demos? Looks overkill'' |
* [https://build.opensuse.org/project/show/Application:ERP:Dolibarr OpenSuse build system] | * [https://build.opensuse.org/project/show/Application:ERP:Dolibarr OpenSuse build system] | ||
− | ''This one is pretty cool. Looks like we could leverage its capabilities to automate the builds of our Linux distribution packages.'' ''Credentials needed'' | + | RD: ''This one is pretty cool. Looks like we could leverage its capabilities to automate the builds of our Linux distribution packages.'' ''Credentials needed'' |
* Virtualmin installer | * Virtualmin installer | ||
Line 94: | Line 100: | ||
# Commit and Tag version | # Commit and Tag version | ||
− | ''Better be a [http://git-scm.com/book/en/Git-Basics-Tagging#Signed-Tags signed tag]'' | + | RD: ''Better be a [http://git-scm.com/book/en/Git-Basics-Tagging#Signed-Tags signed tag]'' |
<ol start="3" style="list-style-type: decimal;"> | <ol start="3" style="list-style-type: decimal;"> | ||
Line 109: | Line 115: | ||
<li><p>TAR reference release</p></li></ol> | <li><p>TAR reference release</p></li></ol> | ||
− | ''We should also generate checksums'' | + | RD: ''We should also generate checksums'' |
− | ''Add a GPG signature?'' | + | RD: ''Add a GPG signature?'' |
<ol start="10" style="list-style-type: decimal;"> | <ol start="10" style="list-style-type: decimal;"> | ||
Line 127: | Line 133: | ||
# Tag to central repository | # Tag to central repository | ||
− | ''Credentials needed. This won't get along with a pull request!'' | + | RD: ''Credentials needed. This won't get along with a pull request!'' |
<ol start="2" style="list-style-type: decimal;"> | <ol start="2" style="list-style-type: decimal;"> | ||
<li>Packages, Artifacts (Checksum(s), signature(s)…), ChangeLog and PAD files to dolibarr.org (/home/dolibarr/wwwroot/files)</li></ol> | <li>Packages, Artifacts (Checksum(s), signature(s)…), ChangeLog and PAD files to dolibarr.org (/home/dolibarr/wwwroot/files)</li></ol> | ||
− | ''Credentials needed'' | + | RD: ''Credentials needed'' |
<ol start="3" style="list-style-type: decimal;"> | <ol start="3" style="list-style-type: decimal;"> | ||
<li>Packages to [http://sourceforge.net/projects/dolibarr/ Sourceforge.net]</li></ol> | <li>Packages to [http://sourceforge.net/projects/dolibarr/ Sourceforge.net]</li></ol> | ||
− | ''Credentials needed'' | + | RD: ''Credentials needed'' |
− | ''Can be automated: [https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download doc]'' | + | RD: ''Can be automated: [https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download doc]'' |
=== Verifiing === | === Verifiing === | ||
Line 145: | Line 151: | ||
* ? | * ? | ||
− | ''This is where checksums comes in handy'' | + | RD: ''This is where checksums comes in handy'' |
=== Releasing === | === Releasing === | ||
Line 151: | Line 157: | ||
# Craft announcement message | # Craft announcement message | ||
− | ''The message template should be in the repo'' | + | RD: ''The message template should be in the repo'' |
<ol start="2" style="list-style-type: decimal;"> | <ol start="2" style="list-style-type: decimal;"> | ||
<li>Post announcement as a news on dolibarr.org</li></ol> | <li>Post announcement as a news on dolibarr.org</li></ol> | ||
− | ''Credentials needed'' | + | RD: ''Credentials needed'' |
<ol start="2" style="list-style-type: decimal;"> | <ol start="2" style="list-style-type: decimal;"> | ||
Line 165: | Line 171: | ||
* [http://www.facebook.com/dolibarr Facebook] | * [http://www.facebook.com/dolibarr Facebook] | ||
− | ''Credentials needed'' | + | RD: ''Credentials needed'' |
− | ''Should all be automated through their respective APIs'' | + | RD: ''Should all be automated through their respective APIs'' |
<ol start="3" style="list-style-type: decimal;"> | <ol start="3" style="list-style-type: decimal;"> | ||
Line 177: | Line 183: | ||
<li>Send announcement on Forum</li></ol> | <li>Send announcement on Forum</li></ol> | ||
− | ''This should be a sticky in the appropriate category (which?)'' | + | RD: ''This should be a sticky in the appropriate category (which?)'' |
− | ''Credentials needed'' | + | RD: ''Credentials needed'' |
+ | |||
+ | <ol start="5" style="list-style-type: decimal;"> | ||
+ | <li>Create version on this wiki</li></ol> | ||
+ | |||
+ | RD: ''Credentials needed'' | ||
+ | |||
+ | <ol start="5" style="list-style-type: decimal;"> | ||
+ | <li>Create version in [http://doliforge.org Doliforge]</li></ol> | ||
+ | |||
+ | RD: ''Credentials needed'' | ||
== Misc. Questions == | == Misc. Questions == | ||
− | + | ||
+ | ===RD=== | ||
* More projects are moving to tar.xz releases, shan't we join the boat? | * More projects are moving to tar.xz releases, shan't we join the boat? | ||
* Shouldn't we use native environments to build distribution packages and windows installer? Vagrant maintained virtual build and test machines would be neet. | * Shouldn't we use native environments to build distribution packages and windows installer? Vagrant maintained virtual build and test machines would be neet. | ||
Line 188: | Line 205: | ||
* Shouldn't we publish also on GitHub since it's one of our homes now? This can be fully automated with the [http://developer.github.com/v3/repos/releases/ API] | * Shouldn't we publish also on GitHub since it's one of our homes now? This can be fully automated with the [http://developer.github.com/v3/repos/releases/ API] | ||
* Is there other announcements to be made? | * Is there other announcements to be made? | ||
− | |||
− | |||
− | |||
− | |||
− | |||
* Release script is in Perl now, I'd like to rewrite it with [http://www.phing.info Phing]. Any objections ? | * Release script is in Perl now, I'd like to rewrite it with [http://www.phing.info Phing]. Any objections ? | ||
− | + | ||
== Misc. Notes == | == Misc. Notes == | ||
− | * Directory structure for resulting binaries should be : | + | * Directory structure for resulting binaries should be: |
− | |||
<pre>. | <pre>. | ||
├── generic | ├── generic | ||
Line 208: | Line 219: | ||
├── package_rpm_opensuse | ├── package_rpm_opensuse | ||
├── package_rpm_redhat-fedora | ├── package_rpm_redhat-fedora | ||
− | └── package_windows</pre> | + | └── package_windows |
− | * We need to define the | + | </pre> |
+ | * We need to define the versionning and naming conventions as well as the branching system |
Revision as of 13:39, 10 January 2014
Dolibarr release process
This document is a draft trying to understand what is going on to release dolibarr.
RD: I intend to use it as a base to revamp the whole releasing process.
Officialy maintained
Descriptor
Archives
- Gziped tar archive
Actually uses the .tgz extension, I'd prefer the more common .tar.gz
- Zipped archive
RD: I'd build it from the tarball
Distribution packages
RD: I'd make these from the release tarball.
RPM
RD: Can't all of these be unified?
LD: This is what Generic below is for but specific versions are needed for distro integration
RD: I think that Debian integration is ongoing, what about other distros?
Isn't this the distribution package maintainer responsibility, not the release managers?
- Generic
- Fedora
RD: RedHat?
- Mandriva
RD: Is this really needed? I mean who still uses mandriva these days?
- OpenSuse
DEB
- Debian
RD: Ubuntu?
Installers
- Windows (DoliWamp, exe)
RD: This one is the most involved. We need a better spec of the process.
Not officially maintained
RD: Need volunteers?
These packages are not officially maintained but are in the source tree. Maybe we'd want to have them work one day or another.
RD: Is this even a package format?
- Doxygen (Developer documentation)
RD: Again, not a package format, but this should certainly be published somewhere for each released version
- Launchpad (https://launchpad.net/dolibarr)
RD: Ubuntu packages and build system?
- Live CD
RD: Really? What for? Demos? Looks overkill
RD: This one is pretty cool. Looks like we could leverage its capabilities to automate the builds of our Linux distribution packages. Credentials needed
- Virtualmin installer
- Proxmox Appliance
Tentative process
Early announcement
- Post to dolibarr-dev intention to package. Ask testers to test. Ask translators to update their translations. Fix release date allowing at least one week for people to do their tasks.
Building
- Update version numbers in source code, ChangeLog and PAD files
- Commit and Tag version
RD: Better be a signed tag
Checkout tag to a test directory
Play unit tests
Play UI tests
If all is OK
Checkout tag to a build directory
Clean build directory (i.e. remove stuff that won't go into release. Includes devolopment tools, samples, test results, git repo itself, etc.)
Fix rights
TAR reference release
RD: We should also generate checksums
RD: Add a GPG signature?
ZIP release
RPM releases
DEB realease
Windows installer release
Testing
- ?
Pushing
- Tag to central repository
RD: Credentials needed. This won't get along with a pull request!
- Packages, Artifacts (Checksum(s), signature(s)…), ChangeLog and PAD files to dolibarr.org (/home/dolibarr/wwwroot/files)
RD: Credentials needed
- Packages to Sourceforge.net
RD: Credentials needed
RD: Can be automated: doc
Verifiing
- ?
RD: This is where checksums comes in handy
Releasing
- Craft announcement message
RD: The message template should be in the repo
- Post announcement as a news on dolibarr.org
RD: Credentials needed
- Send announcement on Social Networks
RD: Credentials needed
RD: Should all be automated through their respective APIs
- Send announcement on Mailing lists
dolibarr-user, dolibarr-dev, dolibarr-foundation
- Send announcement on Forum
RD: This should be a sticky in the appropriate category (which?)
RD: Credentials needed
- Create version on this wiki
RD: Credentials needed
- Create version in Doliforge
RD: Credentials needed
Misc. Questions
RD
- More projects are moving to tar.xz releases, shan't we join the boat?
- Shouldn't we use native environments to build distribution packages and windows installer? Vagrant maintained virtual build and test machines would be neet.
- Arch Linux package could be adopted and made up to par with other distro's
- Shouldn't we publish also on GitHub since it's one of our homes now? This can be fully automated with the API
- Is there other announcements to be made?
- Release script is in Perl now, I'd like to rewrite it with Phing. Any objections ?
Misc. Notes
- Directory structure for resulting binaries should be:
. ├── generic ├── package_aps ├── package_debian-ubuntu ├── package_mac ├── package_rpm_generic ├── package_rpm_mandriva ├── package_rpm_opensuse ├── package_rpm_redhat-fedora └── package_windows
- We need to define the versionning and naming conventions as well as the branching system