-
-
Notifications
You must be signed in to change notification settings - Fork 134
Build and release process
ransome1 edited this page Jan 19, 2025
·
7 revisions
- Install Git, yarn and node.js.
- Clone sleek with
git clone https://github.com/ransome1/sleek.gitand cd into sleek's directory - Install dependencies with
yarn - Build and package sleek with
yarn run build:unpack - The binary will be placed in the working directory, in a subfolder named dist
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.
Let me walk you through how to build a pre-release (test release).
- In the
package.jsonyou need to bump up the version. For a pre-release, I introduced the convention of declaring these releases asrelease candidates. If you want to start building test releases for a future2.1.3you should name the first pre-release2.1.3-rc1. The second one is2.1.3-rc2 - You need to push a commit to either the
mainor thedevelopbranch. For test releases, this will most likely be thedevelopbranch, sincemainbranch should always contain the code base of the latest full-release. This commit needs to contain the version number in package.json bumped up - You need to create a
tag. That is important, because the build process istriggered by tag creation. Let’s assume you create the first test build for version2.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 eithermainordevelopfor its source code)
- 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
- 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 thePre-releasecheckbox. 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.