-
-
Notifications
You must be signed in to change notification settings - Fork 110
Build and release process
ransome edited this page Jan 25, 2024
·
6 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 package
- The binaries will be placed in the working directory, in a subfolder named release/build
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).
- 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 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
- Type
yarn
. Among other things, this will initiate a script that updates the version number in all required locations. - 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.