Skip to content

[dev] What to call released builds

Infernio edited this page Jul 23, 2022 · 7 revisions

This document serves as a specification for the build / deploy scripts, giving them a single layout for the format to work with. As a developer, you will likely never have to work with this, but having this written down in a central place is useful.

Release Types

There are three types of releases - Installer, Python Source and Standalone Executable. These three must exactly (that means case-sensitive and with correct spacing!) appear in the released builds - see the sections detailing this further below.

For every release, you should always make all three available to give users the choice of how to install.

Nightlies

Nightly builds have the format Wrye Bash A.B - C.7z, where A is the major version (e.g. 307), B is based on the timestamp (year, month, day, hour, minute - e.g. 201909231227 means year: 2019, month: 09, day: 23, hour: 12 and minute: 27) and C is the type of release (see above).

You can use this regex to match valid nightly releases and extract the version: Wrye Bash (\d{3,}\.\d{12}) - (?:Installer|Python Source|Standalone Executable)

Production Builds

Production builds are either pre-releases or stable releases.

Pre-releases follow the format Wrye Bash A B C - D.7z, where A is the major version (e.g. 307), B is the type of pre-release this is - could be any string, but as of the time of writing, we only use Beta - C is a strictly monotonically increasing (heck yeah, those math courses from university are finally paying off :P) number, and D is the type of release (see above). Point releases are okay as well (e.g. when A is 309.1).

Stable releases simply omit B C, leaving Wrye Bash A - D.7z, where A and D retain their meaning as defined above.

You can use this regex to match valid production releases and extract the version: Wrye Bash (\d{3,}(?:\.\d+)?)(?: (\w+) (\d+))? - (?:Installer|Python Source|Standalone Executable)

Clone this wiki locally