英文:
Why doesn't linting in Github Actions work when it does locally?
问题
我正在构建一个Go项目,并且在每次提交时使用Github Actions。
项目在这里:https://github.com/filecoin-project/bacalhau
当我在本地运行项目时,它可以正常运行,例如:
❯ golangci-lint run
❯
但是当我在Github Actions中运行相同的命令时,我会收到警告,就好像我没有正确地导入模块一样(猜测)。
Error: undeclared name: `libp2p` (typecheck)
Error: undeclared name: `libp2p` (typecheck)
Error: undeclared name: `libp2p` (typecheck)
Error: "github.com/libp2p/go-libp2p" imported but not used (typecheck)
Error: issues found
即使我移除了linting,我也会遇到类似的问题(它无法正确构建 - 例如https://github.com/filecoin-project/bacalhau/runs/5313987141?check_suite_focus=true)。
唯一一次我亲自登录,通过ssh手动执行构建(例如go build
),它也失败了,出现了相同的错误,但是通过执行go mod vendor
,go mod tidy
命令可以解决。然而,这应该是不必要的,对吗?因为我已经检入了vendor目录?
我漏掉了什么?谢谢!
英文:
I'm building a Go project, and i'm using Github actions on every checkin.
The project is here: https://github.com/filecoin-project/bacalhau
When I run the project locally, it runs fine - e.g.:
❯ golangci-lint run
❯
But when I do the same command in Github Actions, I get warnings like I haven't vendored in the modules correctly (guessing).
Error: undeclared name: `libp2p` (typecheck)
Error: undeclared name: `libp2p` (typecheck)
Error: undeclared name: `libp2p` (typecheck)
Error: "github.com/libp2p/go-libp2p" imported but not used (typecheck)
Error: issues found
Even when I remove the linting, I get similar problems (it doesn't build properly - e.g. https://github.com/filecoin-project/bacalhau/runs/5313987141?check_suite_focus=true
The ONE time I logged in myself, via ssh, and executed the build manually (e.g. go build
) it failed with the same error, but this was solveable by just doing go mod vendor
, go mod tidy
inline. HOWEVER, this shouldn't be necessary, right? Because I've checked in a vendor directory?
What am I missing? Thanks!
答案1
得分: 0
我通过清空/vendor目录并将其添加到.gitignore文件中来解决了这个问题。这样可以强制GitHub actions重新下载所有内容。不确定这是否是最高效的解决方案,但对我有效!
英文:
I solved this by blowing away everything in my /vendor dir, and .gitignoring it. This forced GitHub actions to redownload everything. Not sure if this was the most efficient solution, but worked for me!
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论