-
Notifications
You must be signed in to change notification settings - Fork 293
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
Does not install correctly on Windows #177
Comments
this seems to be an installation issue, since it seems to build properly, but isn't found. so probably more related to the Lua action than to lfs itself. |
If I install another package, https://github.com/ColinKennedy/luarocks_window_test/actions/runs/12856066784/job/35842325008 name: Test
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches:
- main
push:
branches:
- main
- testing_other_packages
jobs:
test:
strategy:
matrix:
os: ["windows-latest"]
luaVersion:
- "5.1"
include:
- os: "windows-latest"
toolchain: "msvc"
luaVersion: "5.1"
runs-on: ${{ matrix.os }}
name: "OS: ${{ matrix.os }} - Neovim: ${{ matrix.neovim }}"
steps:
- uses: actions/checkout@v4
with:
repository: "lunarmodules/luasystem"
- name: Setup MSVC
# the 'hishamhm/gh-actions-lua' step requires msvc to build PuC Rio Lua
# versions on Windows (LuaJIT will be build using MinGW/gcc).
if: ${{ matrix.toolchain == 'msvc' }}
uses: ilammy/msvc-dev-cmd@v1
- uses: leafo/gh-actions-lua@master
with:
luaVersion: "5.1"
- uses: hishamhm/gh-actions-luarocks@v5
with:
luarocksVersion: "3.11.0"
- name: Install mega.logging
run: |
luarocks install mega.logging
lua -e "require 'mega.logging'"
- name: Install LuaFileSystem
run: |
luarocks install luafilesystem
lua -e "require 'lfs'" I install a different package and require it, no issues. Do the same for luafilesystem, errors. The reason this came up was that I was trying to install busted, which depends on penlight which depends on luafilesystem. I didn't test all dependencies but this seems to be lfs specific since I haven't reproduced this issue for another package yet. |
Another point,
It seems to me that the installation process (specifically, the portions that discovers lua modules) succeeded because it does see the .dll. It just is unable to get the data that it needs after finding it. So that makes me think either A. The build is marked as succeeded but actually failed in some way (false-positive) Which do you think this is? |
that thing again... lunarmodules/luasystem#17 (comment) |
I tried this again, this time changing then I tried changing It's worth noting that the @hishamhm is there any chance you can check this out? It looks like the error from before is back again, some way. For quick reference, this is the latest minimal reproduction #177 (comment). Or also looking at the workfile section of the links above |
Hello all, Given the description and analyzing the workflow you posted, I'm pretty confident that this issue happens on I have a Lua installer project (MSVC only) that, as part of the testing process, I continously:
Up to date, the current LFS hosted on LuaRocks is working just fine built with MSVC toolchain. If you guys want, I can post the manual LuaRocks installation process (+ configuration), so you guys can help diagnose the problem on |
My understanding is that gh-actions-luarocks just installs luarocks and doesn't touch env vars. I thought the env vars are updated later after a package is installed. Though I haven't tested any of those parts yet so I could be wrong.
That would be excellent yes. Is this it or were you referring to something different? That lfs.yaml is pretty daunting to read but if it can help give us insight I think that'd be a very good thing. I'm interested in If the issue really is env-var related and nothing build specific then I can try messing around with variables and seeing if I can make any progress over the weekend |
It is a configuration issue in your Action. You are mixing the Here's a fork of your test repo showing the https://github.com/hishamhm/luarocks_window_test/actions/runs/12924615247 name: Test
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches:
- main
push:
branches:
- main
jobs:
test:
strategy:
matrix:
include:
- os: "windows-latest"
toolchain: "msvc"
luaVersion: "5.1"
neovim: "v0.10.0"
- os: "windows-latest"
toolchain: "mingw" # unused, other than for display in the UI
luaVersion: "luajit"
neovim: "v0.10.0"
runs-on: ${{ matrix.os }}
name: "${{ matrix.os }} ${{ matrix.toolchain }}, Lua ${{ matrix.luaVersion }}, Neovim: ${{ matrix.neovim }}"
steps:
- name: Setup MSVC
# the 'luarocks/gh-actions-lua' step requires msvc to build PUC-Rio Lua
# versions on Windows (LuaJIT will be build using MinGW/gcc).
if: ${{ matrix.toolchain == 'msvc' }}
uses: ilammy/msvc-dev-cmd@v1
- uses: luarocks/gh-actions-lua@master
with:
luaVersion: "${{ matrix.luaVersion }}"
- uses: luarocks/gh-actions-luarocks@v5
- name: Install mega.logging
run: |
luarocks install mega.logging
lua -e "require 'mega.logging'"
- name: Install LuaFileSystem
run: |
luarocks install luafilesystem
lua -e "require 'lfs'" Closing this since this is not a LuaFileSystem bug. |
I'm installing luafilesystem via a GitHub action and noticing that even after installing it via luarocks, I still cannot
require("lfs")
.See: https://github.com/ColinKennedy/luarocks_window_test/actions/runs/12762606264/job/35571383842
Specifically these lines:
According to the output, it looks like luarocks completed the install and lua can even see the
lfs.dll
file. Lua just cannot import it. It's hard to tell exactly if this is a luafilesystem issue or an environment/luarocks issue but I think given the output that it's luafilesystem.This is a minimal GitHub workflow used to generate the above error: https://github.com/ColinKennedy/luarocks_window_test/actions/runs/12762606264/workflow
The workflow file is all you need to try this yourself. If you'd like to trigger new GitHub workflow runs that can be done by cloning the test repository and pushing to it. e.g.
The text was updated successfully, but these errors were encountered: