Releasing Products
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