Skip to content

Release Process

James Baicoianu edited this page May 14, 2017 · 6 revisions

Creating a Janusweb release involves several steps. This page intends to document them all, with the goal of automating them end-to-end.

Dependencies

JanusWeb depends on several other projects, if there have been any changes to these they'll need to go through their own release process, and published to npm.

  • elation
  • elation-engine
  • elation-share
  • cyclone-physics

JanusWeb

$ git clone https://github.com/jbaicoianu/janusweb.git
$ cd janusweb
$ npm run build

Once the release is built, it is made available in a versioned directory - for example, the current release version as of this writing is 1.0.30, and it is hosted at https://web.janusvr.com/1.0.30/. We keep old versions around forever, for debugging and historical purposes - you can always reference a specific version directly. We also maintain an alias pointing to the latest build of each minor version - for instance, https://web.janusvr.com/1.0/ will always point to the latest official 1.0 release (eg, 1.0.30). When we move on to 1.1 and beyond, 1.0 will always remain and point to the last released version of that minor release branch. Finally, whatever version is considered to be the current release version will also be set as the default for https://web.janusvr.com/

JanusWeb-Electron

The Electron app will be built with auto-updating capabilities. The client will ship with the latest JanusWeb release bundled, and after being installed will regularly check for updated versions of the JS client. This will be done by checking for a URL, https://web.janusvr.com/versions.json which will keep a list of current versions and the client can check to see if any updates are needed. New versions will be downloaded automatically, and cached locally.

Clone this wiki locally