lgi-devs / lgi

Dynamic Lua binding to GObject libraries using GObject-Introspection
MIT License
440 stars 70 forks source link

ci: MSVC on Windows #324

Closed luau-project closed 3 weeks ago

luau-project commented 1 month ago

Description

I have added a GitHub workflow to build, install and test LGI on Lua (PUC) for both GTK 3 and GTK 4 on MSVC toolchain.

Why is it needed?

On Windows, it is needed to quickly detect changes in the code that break the build for MSVC toolchain.

How

P.S.: In the latest release of LuaInstaller, the build of LGI is even integrated on my tool's continuous integration. LGI helped me to diagnose some obscure bugs in the installer.

luau-project commented 1 month ago

Update

Added a CI job for LuaJIT (MSVC) with GTK 3 and GTK 4.

luau-project commented 1 month ago

Update

According to your suggestion, I moved the test script to a new file under .github directory, which simplified both CI jobs.

P.S.: Now, I'll try to integrate https://github.com/leafo/gh-actions-lua in order to install LuaJIT.

[!TIP]

I know it is better to have control for the CI scripts, but you guys can ask me for help for the MSVC CI whenever needed (judging by the PowerShell scripts). On the other hand, I'm pretty confident that I could write the entire CI in bash.

luau-project commented 1 month ago

My attempt to integrate with https://github.com/leafo/gh-actions-lua is suppended, because the GitHub action https://github.com/leafo/gh-actions-lua is unable to install LuaJIT at the moment (seems like LuaJIT removed the old released tarballs from their website, which was required by that action). The action is returning http status 404 on install, see:

psychon commented 3 weeks ago

Thanks!

Aire-One commented 3 weeks ago

My attempt to integrate with https://github.com/leafo/gh-actions-lua is suppended, because the GitHub action https://github.com/leafo/gh-actions-lua is unable to install LuaJIT at the moment

Projects from @lunarmodules are slowly moving to the @hishamhm fork from https://github.com/hishamhm/gh-actions-lua that is an updated version with support for LuaJIT (and Windows).

hishamhm commented 3 weeks ago

@Aire-One That fork was only meant for making a PR to upstream, not to be added of the list of "things that Hisham mantains (poorly)" :sweat_smile:

But I understand the role that it is currently taking. So, I have transferred both gh-actions-lua and gh-actions-luarocks from my personal account to the luarocks org. Ideally, we should be able to eventually resync with @leafo's upstream and have it become just a mirror, but until then for all intents and purposes luarocks/gh-actions-lua and luarocks/gh-actions-luarocks are the Actions recommended by the LuaRocks project.