-
-
Notifications
You must be signed in to change notification settings - Fork 17
Adding a Distribution Channel for the Windows version
Note, some of the following is out of date, particularly regarding the msbuild parameters and downloadPointers files.
Bloom supports multiple channels, such as alpha, beta, release. We can also create channels for enterprise users so that their users are upgraded only when the enterprise decides it is time to do so.
Bloom uses Squirrel to create nuget-based installers. It also provides delta updates that Bloom automatically installs. These are built on SIL's TeamCity server, which uses configurations to describe parameters for individual builds. One of those parameters specifies the name of the channel that the configuration is building. This page describes a few things about setting up a new TC configuration in order to start a new channel.
Steps:
-
On S3, in the bloomlibrary.org/channels folder, find and copy an existing UpgradeTable<channel>.txt, setting the copy to use the new channel name. Edit the file so its contents also reference the new channel name.
-
On SIL's TeamCity, find an existing configuration that is close to what you want, and duplicate it.
-
Modify the version control branch, if needed
-
Under triggers, turn off any triggers you don't want (e.g. version control)
-
Under "Build Settings", go to the "MSBUILD" step and edit it. Change the two parameters to:
/property:BuildConfigurationID=<the id of your new configuration>
/property:channel=<the name of the channel you want>
-
Consider if you want to reset the build counter.
-
Build it twice. The first time will fail during "releasify" stage, presumably because it can't find a previous build from which to make a delta. The second time, it may take a long time (took 15 minutes just now).
The build process will also create a new "downloadPointers_<channel>.htm" file on S3. Include that file in an iframe in whatever page people will be looking for this channel. Each time the channel is built, that file will be updated to point to the new installer.