-
-
Notifications
You must be signed in to change notification settings - Fork 120
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.git
and 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.json
you 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.3
you 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
main
or thedevelop
branch. For test releases, this will most likely be thedevelop
branch, sincemain
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 - 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 eithermain
ordevelop
for 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-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.