OpenBeken online building system - compiling firmware for all platforms (BK7231, BL602, W800, etc)

OpenBeken, available at Github, features an automatic online build system for all currently supported platforms. This means that you don't even have to setup compiler on your machine in order to compile new binaries. Automatic builds are executed per every commit, including the commits in the Pull Requests. Here I will show you how you can utilize it to compile your own version of OpenBeken or maybe even to develop your own fork.
Main OpenBeken Releases
Main releases are available for everybody at the releases tab. Open our repository:
https://github.com/openshwprojects/OpenBK7231T_App
Go to releases:

In releases, you can find a table of all build binaries for supported platforms:
https://github.com/openshwprojects/OpenBK7231T_App/releases
See screenshot below:

Per-commit builds
Per-commit builds are available for every commit. Some of them are not available in a form of releases, and some of them may have been a release at some point but may have been removed by a developer.
First you need to see the list of commits, here:
https://github.com/openshwprojects/OpenBK7231T_App/commits/main/
Then, notice the green mark, click it:

Then, on the screen below, click any "Details" link:

Now you should be on build details page:

Click "Summary":

Scroll down to the bottom of the page:

This "artifacts" file contains all build binaries, download it:

As you can see, all binaries are here.
Per-Pull Request builds
Automatic builds are also available for each Pull request:
https://github.com/openshwprojects/OpenBK7231T_App/pulls
This way you can test experimental features before they are merged.
Please remember that if you open your first pull request, your build first must be accepted by administrator.
The method of accessing build files is very similiar, just click on "Details" anywhere in PR:

Then follow the guide from previous paragraph.
Customizing your own build
The automated build system can be easily used to customize your own OBK build. For example, let's say you want to enable some feature in obk_config.h:
https://github.com/openshwprojects/OpenBK7231T_App/blob/main/src/obk_config.h
For example, if you want to enable HT16K33 driver:

You can just change the #define of the feature you want to include and then use online build system (either setup on your own fork, or just create a PR to just get binaries) and you will get everything compiled for all platforms without even setting up one compiler on your PC.
Summary
Online Github builds are crucial for development of OBK. They allow us to quickly test compilation for all supported platforms and develop even without having a compiler on our own PC. That being said, testing on physical devices is also very important, but we'll cover it another time. I hope this tutorial can help you build your own OBK fork, especially if you want to just make some little changes and adjustments.
Comments
Add a commentWow, that's an impressive tool! Like gitpod and tasmocompiler etc? Can this be used for a direct linked setup? Direct as in one tuya device logs into the soft AP WiFi of another and controls it without... [Read more]
Thank you, I think it could be used in similiar manner, but it's still something dedicated a bit more for developers, while users can still use it as well. Direct setup is an interesting idea, but... [Read more]
Yes, exactly, the goal is for instance to be able to power on the plug of the modem/router/APs when returning home (or waking up). After having it all turned off when leaving home or going to sleep. Tasmota... [Read more]
do *we* build our own bins on our own forks or is that something you have to do for each PR? [Read more]
I think that in order to run a build on my repo, I need to confirm it first there: https://obrazki.elektroda.pl/4946848900_1708975168_thumb.jpg However, I think you can as easily just enable building... [Read more]
righto. How do you keep my PR out of the main releases? I'll have a go at setting up my own build system Added after 2 [minutes]: also. im sure you dont want to be approving PRs left right and... [Read more]
It will not be released on the main tree unless I specifically merge it. To be honest, what worst could happen? I don't think that someone could run a really malicious code in the PR. Futhermore,... [Read more]
Yes. I understand more now since original questions. A voyage of discovery :) [Read more]
The only thing to watch for which I didn't mention in the first post is that the build binaries seem to expire after some relatively longer amount of time. So, if you have a PR to get binaries for a... [Read more]
fair enough. I did imagine wanting an updated release that included "ENABLE_DRIVER_TMGN" for GN6932 perhaps at some point when more OBK changes generally had been made. [Read more]
Do you know how to merge upstream (main repository) changes into the PR? It can be done via Github GUI. That way you can sync your branch to the main branch of the repository. [Read more]
ah. I don't think I do. I have wondered about changes made to LN-specific bits, like enabling drivers, that require a linked change in main project. Is this to what you're referring? [Read more]
I am referring to a situation that happens when you make a fork (with a PR or not) and some new changes are added to the main and you want to merge those changes into your fork. This can be done easily... [Read more]
Hello! I've made a PR just to test a very small change, requiring your approval, as it's my first one, but it would have been better if I could have made the online build on my branch without disturbing... [Read more]
not sure I am certain of enough to be a great help. does this mean you want to kick off a build and download the zip of binaries off the back of your own PRs? If the change is small and in the... [Read more]
Sure, I can enable it, but why do you need to remove a slash? [Read more]
The reason is that I had the errors I explained here . As there's already a slash in the address in OBK config (e.g. http://192.168.1.249:7231/ if using a local server set up as per these instructions... [Read more]
I'm working on something interesting, guys. It's related to our online builds. Who can guess what's happening there? https://obrazki.elektroda.pl/8504856000_1734136132_bigthumb.jpg [Read more]