Difference between revisions of "Releasing Products"
(New page: This is an internal page for doing AlliedModders product releases. =Making Builds= <ol> <li>Once you are '''absolutely sure''' the product is ready for a release...</li> <li>Jump to a L...) |
|||
Line 84: | Line 84: | ||
</ol> | </ol> | ||
− | = | + | =Cleaning up the Tree= |
+ | It's time to make sure the tree is set for future development. | ||
+ | |||
+ | <ol> | ||
+ | <li>Run <tt>hg tag</tt> on the last revision of the release. Usually this is the changeset that bumped versions, and usually this is <tt>tip</tt>. For example, Metamod:Source: | ||
+ | <pre>hg tag mmsource-1.7.2</pre> | ||
+ | SourceMod: | ||
+ | <pre>hg tag sourcemod-1.1.2</pre> | ||
+ | </li> | ||
+ | <li>Bump the minor version in <tt>product.version</tt> and <tt>modules.version</tt> at the root of the tree.</li> | ||
+ | <li>Run <tt>versionchanger.pl</tt> again, from the root of the tree (see section 1, step 6).</li> | ||
+ | <li>Commit and push.</li> | ||
+ | </ol> |
Revision as of 15:45, 26 February 2009
This is an internal page for doing AlliedModders product releases.
Making Builds
- Once you are absolutely sure the product is ready for a release...
- Jump to a Linux system, check out the source tree.
- Update the changelog (changelog.txt for SourceMod, support/changelog.txt for Metamod:Source).
- For Metamod:Source, edit support/buildbot/bootstrap.pl. For SourceMod, edit tools/buildbot/bootstrap.pl. Change the file like this changeset. In both files this is the last line. It must be commented so BuildBot does not run the versionchanger.pl script.
- Once bootstrap.pl has been edited, commit the change. Do not push.
- For Metamod:Source, be at the top level of the tree, and run:
support/versionchanger.pl
For SourceMod, be at the top level of the tree, and run:
tools/versionchanger.pl
Once you're done, use hg diff to verify that version numbers have been bumped. Commit the change. - Push. Watch the waterfall page until builds are complete.
Post-Build Work
- Grab the binaries from the drop site (MM:S drop site, SourceMod drop site). It will be the latest package.
- Install the packages on both Linux and Windows. MAKE SURE THE VERSIONS ARE CORRECT. THERE SHOULD BE NO -dev TAG.
Metamod:Source checks:meta version
SourceMod checks:
sm plugins list sm exts list sm version
- If the versions are not correct, do not release.
- For SourceMod, you need to add the language translation packs.
If this is a major release (1.X.0), there is no prior pack. Make one:- Extract both the tar.gz and zip files to separate folders.
- Visit the translator status page.
- Click "export languages.cfg" - save the new version to addons/sourcemod/configs/, overwriting the old one.
- Click "export" next to each language that is finished. Extract the folder to addons/sourcemod/translations/. For example, if you extract Spanish, you should have addons/sourcemod/translations/es/ complete with ML files.
- Repackage thefolders using the correct compression types (.tar.gz for Linux, .zip for Windows).
If this is a minor release (1.X.Y where Y != 0), there is already a prior pack. Add it in:
- Extract both the tar.gz and zip files to separate folders.
- Download the last minor release from the same branch as this release.
- Copy the addons/sourcemod/configs/languages.cfg file from the old release over the new one.
- Copy the addons/sourcemod/translations/ sub-folders from the old release over to the new one.
- Repackage thefolders using the correct compression types (.tar.gz for Linux, .zip for Windows).
- The build is done!
Releasing to Mirrors
- Log into iroh as yourself. Upload your final builds to your home directory.
- Run:
/scripts/amjump mirror cd /scripts/mirror
- Copy your final builds from your home directory into the mirror folder. Rename them to release names, for example: sourcemod-1.1.2.zip or mmsource-1.8.0.zip.
- Mirror distribution is done with the following command:
./mirror.pl <projectID> <releaseName> <file>
Metamod:Source's ID is 4, SourceMod's ID is 2. For example, these commands mirrored the Metamod:Source 1.7.0 release:
./mirror.pl 4 1.7.0 mmsource-1.7.0.zip ./mirror.pl 4 1.7.0 mmsource-1.7.0.tar.gz
These commands mirrored the last SourceMod release:
./mirror.pl 2 1.1.1 sourcemod-1.1.1.tar.gz ./mirror.pl 2 1.1.1 sourcemod-1.1.1.zip
Cleaning up the Tree
It's time to make sure the tree is set for future development.
- Run hg tag on the last revision of the release. Usually this is the changeset that bumped versions, and usually this is tip. For example, Metamod:Source:
hg tag mmsource-1.7.2
SourceMod:
hg tag sourcemod-1.1.2
- Bump the minor version in product.version and modules.version at the root of the tree.
- Run versionchanger.pl again, from the root of the tree (see section 1, step 6).
- Commit and push.