Skip to content
pkegg edited this page Jul 15, 2021 · 2 revisions

tl;dr: Beta builds will be built every day (if there are commits). You can use online updates to update to them. They will be 'prereleases' in GitHub so they are very similar to existing releases.

Summary

Beta Releases: Creates 'beta' builds that will be created each night if a commits have been added to main.

These bet builds can be 'online' updated by using the 'beta' channel. This will allow testing online updates before having a real release and also get user feedback earlier from 'beta' users.

The beta builds are 'prereleases' in GitHub. This means they can be downloaded/installed/upgraded manually in the same way as a normal release.

NOTE: These 'prereleases' will create some additional 'noise' in Github notifications ("a pre-release has been published"), but it should be a maximum of once per day and 'prereleases' are not displayed on the main README.md so it should not be too confusing for the users.

'Draft' Release creation: This change is designed to make it easier for the 351ELEC team to create releases.

A 'draft release' build can be triggered with a proper tag (20210603) and name (Crazy Hedgehog) and the build server will: build/tag that release, create a 'Draft' release in GitHub with the correct artifacts and skeleton of Release Notes/Download Links.

After a draft release is created, a 351ELEC team member can then fill out the releases notes and 'publish'.

NOTE: The draft release is also marked 'prerelease'. This is so if the release is published, only the 'beta' channel will get the release until the 'prerelease' checkbox is removed.

Details

  • Build Timing: Beta builds will be run every day at 20:00 UTC. This just basically seemed like a good time where most European/US-based team members will be awake. We can adjust as needed.
  • Upgrade Logic Changes: There were some small changes to the 'upgrade' scripts to ensure:
    • The new 'beta' version format beta-20210714_1022 (beta-YYYYmmdd_hhmm) is considered valid and will be used to compare if you can update to a newer 'beta'.
    • If you are on the 'release' channel, any release will be considered an upgrade if you are on a beta. This means you can switch back from 'beta' to 'release' easily even though it is likely a 'downgrade'.
  • Github environment variable change needed - In order to make this work, a new secret in 351ELEC's github will need to be created. It is called TRIGGER_BUILD_TOKEN and is used to trigger the existing main build. This is sort of a pain to have to require, but it appears the cleanest way to separate this build logic.

Examples

Clone this wiki locally