Yes. My workflow is in https://github.com/salvadorbs/Asuite/blob/develop/.github/workflows/main.yml. But beware, the workflow is not entirely my doing. I have the idea (and many parts of the workflow) from @Olly (and its workflow file https://github.com/ollydev/Simba/blob/simba1400/.github/workflows/build.yml ): https://forum.lazarus.freepascal.org/index.php/topic,34645.msg389924.html#msg389924
So I would be remiss if I didn't mention that @salvadorbs1 didn't like my implementation, because it lacked cross-compilation and did another solution.Your solution is valid, but it is not suitable for my project. That's all. For example, your solution lacks cross-compilation for win64 (if I remember correctly, but I have a bad memory :-[ ).
He decided to only use the Ubuntu environment.Nope. I use both windows and ubuntu. In particular one Windows 64bit and three Ubuntu (so I can build easily for GTK2, GTK3 and QT).
He decided to use @DonAlfredo's(Reinero?) old fpcup.Yep, but it is not old. @DonAlfredo keeps the codebase aligned with the counterpart FpcUpDeluxe. Why fpcup (with docker option)? Well, for these reasons:
He decided to code it all up in a command line kinda way.Yes. I don't have time to learn how to develop Github Actions (and typescript). :D
@SalvadorBS: If it's you, could you please gimme a link to your workflow.yaml file, so I can link it here? Thanks!!Yes. My workflow is in https://github.com/salvadorbs/Asuite/blob/develop/.github/workflows/main.yml. But beware, the workflow is not entirely my doing. I have the idea (and many parts of the workflow) from @Olly (and its workflow file https://github.com/ollydev/Simba/blob/simba1400/.github/workflows/build.yml ): https://forum.lazarus.freepascal.org/index.php/topic,34645.msg389924.html#msg389924
A year ago I built something similar for gitlab, the core of it is this python script: Link (https://github.com/Warfley/LazarusPackageManager), it already solves the dependency issue and the multipackage packages (sounds kinda weird). Also has some neat functions like automatically detecting which packages a project requires, so maybe give it a look.
I don't know much about how github actions work, but for gitlab I used Linux docker images, which contain the Lazarus installation (Link (https://github.com/Warfley/LPMDocker)) including a cross compiler for Windows, build using fpclazup.
This has the advantage of the docker images being prebuilt, so the lazarus and the cross compiler installation don't take up runtime during the CI/CD. If you are more interested in how this works, at least on gitlab, you can checkout my gitlab example: Link (https://gitlab.com/Warfley/lazarusgitlabci), but I have no idea how this would look on github.
I thought about porting this apporach to github actions, but tbh I mostly use gitlab anyway and github actions are to complicated for me xD. But it's nice to see that others also work on devops stuff for Lazarus.
Edit: just seen that I never commited the dependency resolution in my python script, so what I claimed earlier isn't really true. Maybe I can find it on my old laptop, but seems like this commit is lost, but maybe I will update this script some time, lately I've been using this again and I found a few things I wanted to add anyway.
Your solution is valid, but it is not suitable for my project. That's all. For example, your solution lacks cross-compilation for win64 (if I remember correctly, but I have a bad memory :-[ ).
Nope. I use both windows and ubuntu. In particular one Windows 64bit and three Ubuntu (so I can build easily for GTK2, GTK3 and QT).
Yep, but it is not old. @DonAlfredo keeps the codebase aligned with the counterpart FpcUpDeluxe. Why fpcup (with docker option)? Well, for these reasons:
Slow lazarus build isn't a big deal because I can cache the entire Lazarus directory using github actions/cache (no cache 13minutes, cache only 3minutes).
Yes. I don't have time to learn how to develop Github Actions (and typescript). :D
Quote@SalvadorBS: If it's you, could you please gimme a link to your workflow.yaml file, so I can link it here? Thanks!!Yes. My workflow is in https://github.com/salvadorbs/Asuite/blob/develop/.github/workflows/main.yml. But beware, the workflow is not entirely my doing. I have the idea (and many parts of the workflow) from @Olly (and its workflow file https://github.com/ollydev/Simba/blob/simba1400/.github/workflows/build.yml ): https://forum.lazarus.freepascal.org/index.php/topic,34645.msg389924.html#msg389924