Difference between revisions of "Releasing Products"

From AlliedModders Wiki
Jump to: navigation, search
m (Add product.version to files needing bumpage)
(Update for GitHub Actions workflow)
 
Line 5: Line 5:
 
** Create a git branch
 
** Create a git branch
 
** Bump product.version and plugins/include/version.inc numbers for manual builds
 
** Bump product.version and plugins/include/version.inc numbers for manual builds
* Buildbot
+
* GitHub Actions CI
** Update master.cfg in buildbot buildmaster. Don't forget to push the change to github
+
** CI triggers automatically on pushes to <code>master</code> and branches matching <code>[0-9]+.[0-9]+-dev</code>. No manual build forcing is needed.
** Force builds on the new dev and stable branches via pushbuild.txt
+
** On web01, update <code>version_branches</code> in the webhook app's <code>config.yaml</code> (add <code>"'''''1.13'''''"</code><code>: "'''''1.13-dev'''''"</code> for the new stable branch; update the <code>master</code> entry to the new dev version). Then redeploy: <code>systemctl restart sourcemod-github-artifact-webhook</code>
 
* Downloads
 
* Downloads
 
** Run <code>mount -orw /mnt/downloads</code> on web01
 
** Run <code>mount -orw /mnt/downloads</code> on web01
Line 13: Line 13:
 
** Run <code>mount -oro /mnt/downloads</code>
 
** Run <code>mount -oro /mnt/downloads</code>
 
** Fix sm_commit_log by updating last ~N master builds to be the new stable branch
 
** Fix sm_commit_log by updating last ~N master builds to be the new stable branch
** Update <code>~sourcemod/public_html/downloads.php</code>
+
** Update <code>~sourcemod/public_html/downloads.php</code> — add new stable/dev version objects and update the <code>stable</code>/<code>dev</code> aliases in <code>$branchMap</code>
** Add an entry to <code>~sourcemod/web-commit-updater/updater.php</code> for the new version
+
** Update <code>~sourcemod/public_html/latest.php</code> — add new version to <code>$versionMap</code> and update the <code>stable</code>/<code>dev</code> aliases (must stay in sync with downloads.php)
 
* Gamedata updater (run commands from inside <code>~sourcemod/update</code>)
 
* Gamedata updater (run commands from inside <code>~sourcemod/update</code>)
 
** Clone the new branch into <code>'''''1.11-dev'''''</code>
 
** Clone the new branch into <code>'''''1.11-dev'''''</code>

Latest revision as of 15:02, 11 April 2026

Releasing SourceMod

Bold italic values should be replaced as appropriate for the release.

  • General
    • Create a git branch
    • Bump product.version and plugins/include/version.inc numbers for manual builds
  • GitHub Actions CI
    • CI triggers automatically on pushes to master and branches matching [0-9]+.[0-9]+-dev. No manual build forcing is needed.
    • On web01, update version_branches in the webhook app's config.yaml (add "1.13": "1.13-dev" for the new stable branch; update the master entry to the new dev version). Then redeploy: systemctl restart sourcemod-github-artifact-webhook
  • Downloads
    • Run mount -orw /mnt/downloads on web01
    • Run mkdir /mnt/downloads/smdrop/1.11, chmod 775 it, fix ownership
    • Run mount -oro /mnt/downloads
    • Fix sm_commit_log by updating last ~N master builds to be the new stable branch
    • Update ~sourcemod/public_html/downloads.php — add new stable/dev version objects and update the stable/dev aliases in $branchMap
    • Update ~sourcemod/public_html/latest.php — add new version to $versionMap and update the stable/dev aliases (must stay in sync with downloads.php)
  • Gamedata updater (run commands from inside ~sourcemod/update)
    • Clone the new branch into 1.11-dev
    • Create a update-1.11.sh script for the new version
    • Run php add_version.php --version 1.11.0 --path 1.11-dev
    • Run php update/add_version.php --version 1.12.0 --path master
    • Run ./update-1.11.sh
    • Run ./update-master.sh
  • Web compiler and forum
    • Create a ~sourcemod/compiler-1.11 directory, drop spcomp + includes there
    • Change the ~sourcemod/compiler symlink to the new version
    • Update hardcoded version in ~sourcemod/public_html/compiler.php and change the "you can use this to compile plugins for SourceMod 1.11 or higher" text if necessary
    • Update ~sourcemod/public_html/vbcompiler.php
    • Update forum's newthread.php and editpost.php (search for ccversion). Do this on staging, create a production PR in bitbucket, then pull
  • SP docs
    • Pull and rebuild ~sourcemod/scripts/sourcepawn/exp/tools/docparse if needed
    • git checkout new branch into ~sourcemod/scripts/sourcemod
    • From ~sourcemod/scripts/sourcepawn/exp/docgen/generate/, run python generate.py