Skip to content

Build and release process

ransome edited this page Jan 25, 2024 · 6 revisions

Build sleek from source code

  1. Install Git, yarn and node.js.
  2. Clone sleek with git clone https://github.com/ransome1/sleek.git and cd into sleek's directory
  3. Install dependencies with yarn
  4. Build and package sleek with yarn run package
  5. The binaries will be placed in the working directory, in a subfolder named release/build

Build and release using the GitHub workflow

This page is relevant only for collaborators with sufficient permissions to this repository.

The process of building and releasing sleek to Github is fully automated, using Github actions (if you care for the details here is the workflow script: https://github.com/ransome1/sleek/blob/main/.github/workflows/github-ci.yml).

Let me walk you through how to build a pre-release (test release).

  1. In the release/app/package.json you need to bump up the version. For a pre-release, I introduced the convention of declaring these releases as release candidates. If you want to start building test releases for a future 2.1.3 you should name the first pre-release 2.1.3-rc1. The second one is 2.1.3-rc2
  2. Type yarn. Among other things, this will initiate a script that updates the version number in all required locations.
  3. You need to push a commit to either the main or the develop branch. For test releases, this will most likely be the develop branch, since main branch should always contain the code base of the latest full-release. This commit needs to contain the version number in package.json bumped up
  4. You need to create a tag. That is important, because the build process is triggered by tag creation. Let’s assume you create the first test build for version 2.1.3-rc1:
  • git tag 2.1.3-rc1
  • git push —tags (This will trigger the build process and use the last pushed commit to either main or develop for its source code)
  1. Now you can take a look at the build process and if it runs through or comes up with a build error: https://github.com/ransome1/sleek/actions
  2. In sleeks releases page check if a draft is created and associated with the right tag (2.1.3-rc1), add the title (2.1.3-rc1) and enter a description of the changes you made. Check the Pre-release checkbox. Like this, the release will be excluded from the auto update process and won't be featured on GitHub as the latest release. Publish the pre-release.