Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: MSVC on Windows #324

Merged
merged 3 commits into from
Oct 26, 2024
Merged

ci: MSVC on Windows #324

merged 3 commits into from
Oct 26, 2024

Conversation

luau-project
Copy link
Contributor

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

  • To install GTK, I used prebuilt (MSVC) binaries of GTK 3 and GTK 4 provided by wingtk, which is a well known project to deliver GTK on Windows. They are even cited on GTK's webpage at the moment.
  • To install Lua (PUC), I used a project LuaInstaller that I am maintaining for quite a long time. Recently, I did update the tool in order to emit a pkg-config file for Lua (luaXY.pc) to ease LGI installation.

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
Copy link
Contributor Author

Update

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

.github/workflows/msvc-ci.yml Show resolved Hide resolved
.github/workflows/msvc-ci.yml Show resolved Hide resolved
.github/workflows/msvc-ci.yml Show resolved Hide resolved
.github/workflows/msvc-ci.yml Outdated Show resolved Hide resolved
@luau-project
Copy link
Contributor Author

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
Copy link
Contributor Author

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 psychon merged commit a61636b into lgi-devs:master Oct 26, 2024
14 of 15 checks passed
@psychon
Copy link
Collaborator

psychon commented Oct 26, 2024

Thanks!

@luau-project luau-project deleted the win-ci branch October 26, 2024 21:28
@Aire-One
Copy link

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
Copy link

hishamhm commented Oct 28, 2024

@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)" 😅

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants