1. Introduction
  2. Releasing an application

Introduction

Releasing an application

Builds can be released for distribution once your code signing certificates have been uploaded. You can release your application by clicking prepare release on the ToDesktop build page. This will take you to a page that provides a suite of validation checks to ensure that your build can be released with confidence.

Preview of the release validation checks

Basic validation

As a first step, we validate your application's basic properties. For example, ToDesktop will prevent you from releasing an application with the same version as your latest release, but will allow you to upgrade and downgrade versions if the version numbers are appropriate.

This set of checks investigates the following:

  • The build has completed successfully.
  • The build version is higher or lower than the previous release.
  • The code signing certificates are valid for the relevant platforms.
  • The build's current release status.

Smoke testing

Smoke tests run your application across windows, mac, and linux. These tests confirm that the app launches and that it can successfully auto-update across past and future versions.

This addresses the following questions:

  • Can the app auto-update from a previous version?
  • Can the app auto-update to a future version?
  • Can the app launch successfully?
  • Can the app launch without errors?
  • Can debug logs be retrieved from the app in case of an error?

The auto-update tests help identify issues that may arise due to version inconsistencies or faulty client code that interferes with the auto-updater. The app launch tests actually launch your application in its respective OS environment, capturing a screenshot of the result and snapshots of various performance metrics.

Build artifacts

In the build artifacts section, ToDesktop inspects the generated artifacts, such as executable files, dependencies, and other deliverables. In this stage, you can verify the following:

  • The correct Mac, Windows, and Linux artifacts have been generated, and their file sizes align with expectations.
  • Changes in your application's recorded production and development dependencies.
  • Changes in your ToDesktop JSON configuration options between the current build and previous releases.

Static analysis

Static analysis involves using tools to analyze the code without executing it. ToDesktop conducts static code analysis to identify potential issues in the codebase, such as code smells, potential bugs, and adherence to coding standards. It categorizes these issues based on severity, providing simple triage tools to filter out non-issues and examine problematic ones further.

Build logging

Build logs gives you visibility into the app building process across Windows, Mac, and Linux. We report a warning if we're unable to retrieve logs, but this warning can usually be safely ignored.

Releasing the build

Once you're satisfied with each of the steps, clicking the release build button will present you with a new modal. This will provide a comprehensive summary of the validation checks, as well as providing you with one of three ways to release your application:

  • IP address release will partially release a version of your application to designated IP addresses and auto-update anyone with the relevant IP addresses to it.
  • Platform release will partially release a version of your application to a designated platform and auto-update anyone with the relevant platforms to it.
  • Full release will release a new version of your application and auto-update all existing users to it, overriding any partial releases that currently exist.

Confirm your choice of action by clicking release build and then you're all done. If you have any questions about any steps in this process, please contact us at [email protected] and we'll help in every way we can.