Skip to content

Releases

A release is essentially a snapshot of your Git repository at a certain point in time. Usually a release entails deployment of your web app to production and/or shipment of release artifacts such as binaries or installers for your desktop/mobile apps.

Thanks to following CI/CD, we are always in a releasable state. If the need arises, we can release on very short notice, e.g. to fix a critical bug.

Cadence

Whilst in the most extreme form of continuous deployment, releases are done several times a day, we will err on the more conservative side of releasing once a week. This allows for at least some manual testing in the test environment prior to releasing.

As our E2E tests are manual, it is not feasible for a project with only one developer to release on every platform on a weekly basis. Therefore we will only release for one or two platforms every week. The platforms targeted are rotated every week, so each platform is released with the same cadence. With the below schedule, every platform should be released once every 4 weeks. The schedule is as follows:

  • Week 1
    • Web
  • Week 2
    • Windows
    • macOS
  • Week 3
    • Linux x86_64
    • Linux ARM64
  • Week 4
    • Android
    • iOS

Everytime we merge to the main branch, our changes will get automatically deployed to the test environment. Sunday is the release day where an automated CI pipeline creates a release from the current state of the main branch. Saturday will be used to execute manual E2E tests for the targeted platform in the test environment. The E2E tests are repeated on Sunday in the production environment after release. Monday to Friday are used for development.

GitLab Releases

We will use GitLab to automatically create our releases. To view your releases in GitLab, open the "Deploy" accordion and click on "Releases":

Releases

Since we haven't made a release yet, there are no releases to show here yet. Later in this guide we will create a release CI pipeline to automate our releases.

See the Releases section on the Download page of this guide for more information about the release automation.