Difference between revisions of "Public Test Builds"

From Mudlet
Jump to navigation Jump to search
(Created page with "= Public Test Builds = PTB's (public test builds) are daily updates of the latest Mudlet code, available at [https://mudlet.org/ptb mudlet.org/ptb]. They can be downloaded an...")
 
 
Line 4: Line 4:
  
 
== Developer information ==
 
== Developer information ==
To create the PTB, the Windows CI build on Appveyor runs daily at 1am UTC, builds the Windows PTB Mudlet and uploads it to the Mudlet server. It then generates a changelog delta to the previous PTB, creates a new PTB release in dblsqd with the said changelog, and attaches the Windows PTB to the dblsqd release. Windows builds run first since the range of Appveyor IP's is rather limited and we are able to upload data directly to mudlet.org from Appveyor.
 
  
Then, macOS and Linux builds run on Github at 2am UTC, build macOS/Linux PTBs, save them as artifacts in the workflow, and notify the Mudlet server. Direct uploading is not possible since the range of Github Actions IP's is the entire Microsoft Azure cloud, and whitelisting those IPs is not practical. Mudlet server then downloads the macOS/Linux PTBs from the job artifacts. At 3pm UTC, a Github action attaches the macos/Linux PTBs to the same dblsqd release.
+
==== PTB creation ====
 +
To create the PTB, the Windows CI build on [https://ci.appveyor.com/project/Mudlet/mudlet Appveyor] runs daily at 1am UTC, builds the Windows PTB Mudlet and uploads it to the Mudlet server. It then generates a changelog delta to the previous PTB, creates a new PTB release in dblsqd with the said changelog, and attaches the Windows PTB to the dblsqd release. Windows builds run first since the range of Appveyor IP's is rather limited and we are able to whitelist them - enabling direct uploads from the build.
  
 +
Then, macOS and Linux builds run on [https://github.com/Mudlet/Mudlet/blob/37dfdf26d0e5692f9f3ff6bdcdf8c108b9db8a2a/.github/workflows/build-mudlet.yml#L9 Github] at 2am UTC, build macOS/Linux PTBs, save them as artifacts in the workflow, and notify the Mudlet server. Direct uploading is not possible since the range of Github Actions IP's is the entire Microsoft Azure cloud, and whitelisting those IPs is not practical. Mudlet server, upon being notified by the build job, then downloads the macOS/Linux PTBs from the job artifacts. At 3pm UTC, having given the build & upload enough time to complete, a [https://github.com/Mudlet/Mudlet/blob/37dfdf26d0e5692f9f3ff6bdcdf8c108b9db8a2a/.github/workflows/link-ptbs-to-dblsqd.yml#L6 Github action] attaches the macos/Linux PTBs to the same dblsqd release.
 +
[[File:PTB creation.svg|center|frame]]
 +
Unrelated to all of this, a [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/generate-changelog.yml changelog generation] action is available to create a changelog for Discord/Wordpress on demand.
 +
 +
==== Updating to a PTB ====
 
To update to a PTB, Mudlet checks for updates every 12h to see if any are available on the server. If there are updates available, and auto-update is enabled, then the update is updated in the background and applied when the user closes the application. If auto-update is disabled, a notification is shown to the user when they quit Mudlet that an update is available.
 
To update to a PTB, Mudlet checks for updates every 12h to see if any are available on the server. If there are updates available, and auto-update is enabled, then the update is updated in the background and applied when the user closes the application. If auto-update is disabled, a notification is shown to the user when they quit Mudlet that an update is available.
 +
[[File:PTB updates.svg|center|frame]]

Latest revision as of 17:14, 2 May 2023

Public Test Builds

PTB's (public test builds) are daily updates of the latest Mudlet code, available at mudlet.org/ptb. They can be downloaded and used directly next to your regular Mudlet version, so you can always switch back! Please let us know any questions or doubts you find while using a PTB - they are intended as a way to preview new improvements/changes before official releases.

Developer information

PTB creation

To create the PTB, the Windows CI build on Appveyor runs daily at 1am UTC, builds the Windows PTB Mudlet and uploads it to the Mudlet server. It then generates a changelog delta to the previous PTB, creates a new PTB release in dblsqd with the said changelog, and attaches the Windows PTB to the dblsqd release. Windows builds run first since the range of Appveyor IP's is rather limited and we are able to whitelist them - enabling direct uploads from the build.

Then, macOS and Linux builds run on Github at 2am UTC, build macOS/Linux PTBs, save them as artifacts in the workflow, and notify the Mudlet server. Direct uploading is not possible since the range of Github Actions IP's is the entire Microsoft Azure cloud, and whitelisting those IPs is not practical. Mudlet server, upon being notified by the build job, then downloads the macOS/Linux PTBs from the job artifacts. At 3pm UTC, having given the build & upload enough time to complete, a Github action attaches the macos/Linux PTBs to the same dblsqd release.

PTB creation.svg

Unrelated to all of this, a changelog generation action is available to create a changelog for Discord/Wordpress on demand.

Updating to a PTB

To update to a PTB, Mudlet checks for updates every 12h to see if any are available on the server. If there are updates available, and auto-update is enabled, then the update is updated in the background and applied when the user closes the application. If auto-update is disabled, a notification is shown to the user when they quit Mudlet that an update is available.

PTB updates.svg