session-desktop/RELEASING.md

1.8 KiB

Releasing

Creating a new Session Desktop release is very simple.

  1. Bump up the version in package.json.
  2. Merge all changes required into the master branch.
    • This will trigger github actions to start building a draft release
  3. After github actions has finished building. Go to Release page in the repository.
  4. Click on the draft release and change the tag target to master.
  5. Add in release notes.
  6. Generate gpg signatures.
  7. Click publish release.

Notes

Artifacts attached in the release shouldn't be deleted! These include the yml files (latest, latest-mac, latest-linux). These are all necessary to get auto updating to work correctly.

Mac

Mac currently uses 2 formats dmg and zip. We need the zip format for auto updating to work correctly. We also need the dmg because on MacOS Catalina, there is a system bug where extracting the artifact zip using the default Archive Utility will make it so the extracted application is invalid and it will fail to open. A work around for this is to extract the zip using an alternate program such as The Unarchiver.

Once this bug is fixed we can go back to using the zip format by itself.

Linux Flatpak

Flatpak generation is different from the normal build process and thus must be done once we have the final build binaries.

  1. Clone https://github.com/flathub/network.loki.Session
  2. Update network.loki.Session.metainfo.xml with the release information
    • <release version="[version]" date="[date]"/>
  3. Update network.loki.Session.json
    • Under sources, change the url so it points to the latest deb and update the sha256 signature.
  4. Create a pull request with the changes

Once that is done, a developer will go in a review them before merging them in which will trigger a build and release into the flathub repo.