|
@@ -1,53 +1,58 @@
|
|
|
-This document describes step by step the release procedure of GNU
|
|
|
-Midnight Commander.
|
|
|
-
|
|
|
-${dotted_version} shall be replaced by something like 4.6
|
|
|
-${underscore_version} shall be replaced by something like 4_6
|
|
|
-
|
|
|
-=== day 0 (translator's prerelease) ===
|
|
|
-
|
|
|
-* Check out a fresh copy from the CVS repository.
|
|
|
-
|
|
|
-* Update the translation files NOT to contain line number information.
|
|
|
- Commit them.
|
|
|
-* Tag the CVS tree as "MC_${underscore_version}_translators".
|
|
|
-* Update the translation files to contain line number information.
|
|
|
- DON'T commit them.
|
|
|
-* Run "make dist".
|
|
|
-* Upload the distribution tarballs and the individual translation files
|
|
|
- somewhere where the translators can download it.
|
|
|
-* Announce the availibility of the translator's prerelease on mc-devel.
|
|
|
- Inform the translators of the prerelease.
|
|
|
- Inform the developers of a fourteen-day "feature-freeze".
|
|
|
-
|
|
|
-=== day 11 (reminder) ===
|
|
|
-
|
|
|
-* announce a reminder on mc-devel that the release will occur in three
|
|
|
- days.
|
|
|
-
|
|
|
-=== day 14 (official release) ===
|
|
|
-
|
|
|
-* Review the English version of the manual and fix it if necessary.
|
|
|
- Update the date and the version number in the .TH macro of the English
|
|
|
- manual pages.
|
|
|
-* Update the NEWS file to contain all user-visible changes.
|
|
|
-* Set the version number in configure.ac to "${dotted_version}".
|
|
|
- Commit it.
|
|
|
-* Update the translation files NOT to contain line number information.
|
|
|
- Commit them.
|
|
|
-* Run the test suites maint/mctest and maint/mc-test and make sure
|
|
|
- all warnings are ok.
|
|
|
-* Tag the CVS tree as "MC_${underscore_version}_release".
|
|
|
-* Create a CVS branch "MC_${underscore_version}".
|
|
|
-* Run "make dist".
|
|
|
-* Upload the resulting tarballs to the Savannah repository.
|
|
|
-* Announce the new release on the mc-devel and mc mailing lists.
|
|
|
-* Update the homepage.
|
|
|
-
|
|
|
-=== post-release actions ===
|
|
|
-
|
|
|
-* Create binary packages from the uploaded tarballs as necessary.
|
|
|
-
|
|
|
-=== back to work ===
|
|
|
-
|
|
|
-* Discuss milestones for the next release on the mc-devel list.
|
|
|
+# ---------------------------------------------------------------------------------------
|
|
|
+
|
|
|
+Scenario #1
|
|
|
+As developer
|
|
|
+I Want To prepare release files for review by developers
|
|
|
+
|
|
|
+Given have latest version from 'git tag' output (saved to ${last_version})
|
|
|
+ and latest version is increased (saved to ${next_version})
|
|
|
+
|
|
|
+When I want To: prepare to release
|
|
|
+
|
|
|
+Then I Should: sync PO translations from Transifex.net
|
|
|
+ and sync mc.hint translations from Transifex.net
|
|
|
+ and create new NEWS wiki page for ${next_version} with empty template
|
|
|
+ and add content of NEWS-${last_version} wiki page to the doc/NEWS file in git repo
|
|
|
+ and create new tag '${next_version}' in git
|
|
|
+ and add new version '${last_version}' in Trac
|
|
|
+ and add new milestone '${next_version}' in Trac
|
|
|
+ and create tar.(bz2|xz) package files
|
|
|
+ and create checksums for archives:
|
|
|
+ and upload source packages and checksums to the special upload area
|
|
|
+
|
|
|
+# ---------------------------------------------------------------------------------------
|
|
|
+
|
|
|
+Scenario #2
|
|
|
+As developer
|
|
|
+I Want To review files prepared for release
|
|
|
+
|
|
|
+Given have prepared files for review
|
|
|
+
|
|
|
+When I Want To: release next version
|
|
|
+
|
|
|
+Then I Should: download archives from special upload area
|
|
|
+ and download checksums for archives from special upload area
|
|
|
+ and verify checksums and archives
|
|
|
+ and unpack arhives
|
|
|
+ and configure with default parameters
|
|
|
+ and run 'make all install DESTDIR=/tmp/mc-release'
|
|
|
+ and if everything is okay, keep vote in release ticket
|
|
|
+
|
|
|
+# ---------------------------------------------------------------------------------------
|
|
|
+
|
|
|
+Scenario #3
|
|
|
+As developer
|
|
|
+I Want To complete the release procedure
|
|
|
+
|
|
|
+Given have votes from developers
|
|
|
+
|
|
|
+When I Want To: complete the release
|
|
|
+
|
|
|
+Then I Should: upload source packages and checksums to http://www.midnight-commander.org/downloads
|
|
|
+ and update Wiki start page with ${next_version} release number
|
|
|
+ and write an announcement in mc-dev and mc-users mailists: list user visible changes (bugs and features)
|
|
|
+ and close milestone with '${last_version}' version
|
|
|
+ and create new ticket (type=task, component=adm) for the next release
|
|
|
+ and close ticket for release.
|
|
|
+
|
|
|
+# ---------------------------------------------------------------------------------------
|