|
|
Home » Developing U++ » U++ Developers corner » Github workflow files for building U++ on Windows, Linux & MacOS
Github workflow files for building U++ on Windows, Linux & MacOS [message #61288] |
Thu, 19 December 2024 18:47  |
Oblivion
Messages: 1214 Registered: August 2007
|
Senior Contributor |
|
|
Hi,
While the U++ github repo uses CircleCi, I would like to announce that I have successfully created github workflow (actions) files for Linux, MacOS, and Windows.
I created them for Bobcat. However, they are rudimentary enough to serve as templates.
Main challenge was creating Windows workflow file, because it didn't have build method file and umk couldn't download packages from UppHub.
First problem is solved by dynamically creating a rudimentary build method file for CLANG windows.
Second problem has a workaround: It downloads UppHub packages manually (for now).
Still, given the power of github actions, you might find this info interesting or useful.
To examine the files check this link.
Again: the files work, but are rudimentary and will be refined later.

Best regards,
Oblivion
Github page: https://github.com/ismail-yilmaz
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
|
|
|
|
|
Re: Github workflow files for building U++ on Windows, Linux & MacOS [message #61350 is a reply to message #61303] |
Sun, 29 December 2024 09:32   |
Oblivion
Messages: 1214 Registered: August 2007
|
Senior Contributor |
|
|
Hello Klugier,
Quote:So far, I don't observe any issues with CircleCI, so probably it is not worth migrating to something else.
I'm not suggesting to move U++ CI to Github Actions.
What I'm really suggesting is (aside from providing some basic examples) that U++ apps can benefit from a simple installation & compilation script on Windows (such as the fast build script for UppTerm on linux).
The Windows github actions file I provided has such an implication.
Rationale: Users shouldn't have to use TheIDE or umk manually to build this or that U++ app or example on Windows.
Steps:
1) Download and extract U++ Windows build.
2) Download and extract the app's source code.
3) Run umk to build the app with U++ source code.
Step (1) assumes,
a) at least a Windows 10 and powershell to build out of the box as curl is a part of Windows ver. >= 10.
b) that U++ windows build is archived using tar, which is a part of Windows since ver 10 (build 17063) too. Currently, in order to unzip U++ Windows builds p7zip or similar external apps are required.
Step (2) assumes
a) curl or mingit. The former is a part of Win ver. >= 10. The latter is a part of U++ bundle.
Step (3) requires an umk,
a) capable of generating a base Windows build method files (debug/release) for the bundled CLANG.
b) with fixed UppHub access (it seems to be broken ATM) for downloading necessary external U++ packages from UppHub.
In this way, I believe we can provide simple build scripts for U++ apps on Windows.
This is what I would like to discuss.
Ps. In short, I believe that umk is a powerful command line tool that can be used more effectively to promote U++. Not suprisingly, not everyone is interested in using or getting familiar with TheIDE in order to examine how powerful U++ apps are on Windows.
Best regards,
Oblivion
Github page: https://github.com/ismail-yilmaz
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Sun, 29 December 2024 09:42] Report message to a moderator
|
|
|
Re: Github workflow files for building U++ on Windows, Linux & MacOS [message #61351 is a reply to message #61350] |
Sun, 29 December 2024 13:41   |
|
As a side note: easy way to build app using umk with minimum of dependencies is also helpful on Linux. Especially if someone wants to package the app in distribution specific package format. Such packages are often created using automated scripts and/or virtual environments (similar to GitHub Actions) so making things simple helps a lot.
Best regards,
Honza
|
|
|
Re: Github workflow files for building U++ on Windows, Linux & MacOS [message #61355 is a reply to message #61351] |
Sun, 29 December 2024 20:35  |
Oblivion
Messages: 1214 Registered: August 2007
|
Senior Contributor |
|
|
Hello Honza,
Quote:As a side note: easy way to build app using umk with minimum of dependencies is also helpful on Linux. Especially if someone wants to package the app in distribution specific package format. Such packages are often created using automated scripts and/or virtual environments (similar to GitHub Actions) so making things simple helps a lot
Yes, it is very useful. Not only that, I think umk needs a scripting (macro) interface which would reduce external dependencies when it comes to do some pre-/post-build stuff. It can be implemented using Esc.
This also would let us have a consistent experience across the platforms (in theory, at least).
Best regards,
Oblivion
Github page: https://github.com/ismail-yilmaz
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
|
|
|
Goto Forum:
Current Time: Sat Jul 05 23:23:52 CEST 2025
Total time taken to generate the page: 0.03505 seconds
|
|
|