Rough notes on the steps we follow when making an SML release.
- Add things demonstrating/testing new features to Example Mod and SMLFeatureTests when relevant
- Ensure docs repository is updated (on https://docs-dev.ficsit.app/, at least)
- Write version-specific Updating Guide on the docs when relevant
- Write draft release changelog on GitHub, following the format from the previous release
- Ensure SML VS project and mod compiles on a developer machine
- Ensure the CI passes on the
devbranch - Open a SML PR of
devtomasterand get approvals - Update the docs versions
- After merging the PR, commit on master a
Bump versioncommit- SML.uplugin GameVersion and SemVersion
- ExampleMod.uplugin GameVersion and SML dependency version
- Wait for CI to finish.
We don't upload locally compiled versions so the version detailed suffix is consistent across versions.
We want the CI result of the commit on
master, so cancel the CI runs for thedevthat probably started when those were pushed to save time. - While waiting for CI to finish:
- Merge the docs PR to master
- Update SMLFeatureTests SML dependency version
- Upload files to the draft GitHub release. Attach all of the CI zip file contents as release items (Windows (Client), Windows Server, Linux Server, SML (multi-target))
- Attach CI artifact to SMR as a new version of the SML mod (multi-target zip file), SMR changelog is the GitHub changelog
- Upload the ficsit.app version, and once virus scan succeeds, publish the GitHub draft release
- Post in
#toolkit-updatesand/or#announcementson Discord - Clear/create ficsit.app announcements as needed via site admin announcements panel