Skip to content

sci-bots/microdrop-squirrel

Repository files navigation

MicroDrop-Squirrel

Tool to bundle a MicroDrop executable release as a Squirrel Windows app.

Build

Prerequisites

Conda environment

Create a Conda environment with required packages:

conda env create -n <env name> --file environment.yaml

Build release

A Squirrel MicroDrop release may be built within an activated development Conda environment by running the following command:

python build.py <micrdrop-exe release location> <NuGet MicroDrop release version> [-f]

where:

What does the build do?

The build.py script referenced above performs the following steps:

  1. Download the specified MicroDrop executable release.
  2. Package the contents of the MicroDrop executable release into a NuGet package (required by Squirrel).
  3. Generate Squirrel release, e.g., MicroDrop.2.34.1-rc16alpha0.nupkg.
  4. Update the Releases directory:
    1. Update the Releases/RELEASES file with details of the new release.
    2. Copy the Squirrel release into the Releases and generate a "delta" package (unless --no-delta flag was used), e.g., MicroDrop-2.34.1-rc16alpha0-delta.nupkg.
    3. Update/create Releases/Setup.exe as installer for new release.

Example contents of output Releases directory after several builds (new builds are appended to RELEASES text file):

Releases/
  MicroDrop-2.28.0-rc0alpha0-full.nupkg
  MicroDrop-2.28.1-rc0alpha0-full.nupkg
  MicroDrop-2.28.2-rc0alpha0-full.nupkg
  MicroDrop-2.28.3-rc0alpha0-full.nupkg
  MicroDrop-2.28.3-rc2alpha0-full.nupkg
  MicroDrop-2.28.3-rc4alpha0-full.nupkg
  MicroDrop-2.30.0-rc1alpha0-full.nupkg
  MicroDrop-2.30.0-rc3alpha0-full.nupkg
  MicroDrop-2.30.0-rc4alpha0-full.nupkg
  MicroDrop-2.32.0-rc1alpha0-full.nupkg
  MicroDrop-2.32.0-rc2alpha0-full.nupkg
  MicroDrop-2.32.0-rc3alpha0-full.nupkg
  MicroDrop-2.32.0-full.nupkg
  MicroDrop-2.34.1-rc16alpha0-delta.nupkg
  MicroDrop-2.34.1-rc16alpha0-full.nupkg
  RELEASES
  Setup.exe

Version convention

When assigning a version to a Squirrel MicroDrop release, we currently use the following conventions:

  • Pre-release Squirrel MicroDrop builds:
    microdrop-<patched micrdrop-exe version>alpha<i>
    
    • For example, for microdrop-exe version microdrop-2.34.1rc16 (note the hyphen added between the main version and the release candidate tag to comply with the NuGet version scheme):
      microdrop-2.34.1-rc16alpha0
      microdrop-2.34.1-rc16alpha1
      ...
      
  • Squirrel MicroDrop release builds:
    microdrop-<patched micrdrop-exe version>
    
    • For example:
      • For microdrop-exe version microdrop-2.34.1rc16:
        microdrop-2.34.1-rc16
        
      • For microdrop-exe version microdrop-2.34.1:
        microdrop-2.34.1
        

Publish

Once one or more releases have been built, publish the contents of the Releases directory at a http:// URL.

When the Setup.exe file is launched, the URL used for updates is resolved in the following order:

  1. update-url.rc file located in same directory as installed app .exe
  2. MICRODROP_UPDATE_URL environment variable.
  3. Default of https://sci-bots.com/microdrop-releases.

About

Squirrel installer configuration for MicroDrop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published