[WIP] Add coverity and rebuild-deps build types. #8
Conversation
Having trouble building 32 bit on Travis (noticed that output is actually x64), so marking [WIP]. |
Okay, tried a few things, but the only way I got this working was with the workaround from @ZyX-I's build script (creating a GCC wrapper that sets -m32). I'll have a look how exactly it's done with |
Looking at the CMake source code, I can't see much special handling of I therefore changed |
I'm sorry... I'm a bit worn out from traveling yesterday so I'm probably not firing on all cylinders, but why do you need to pass |
@jszakmeister To enforce target architecture. I am not sure this is going to work with all luarocks stuff: AFAIR there were some issues with luarocks ignoring compiler settings. |
Thanks, but that didn't really explain where using |
@jszakmeister Exactly, it was just because it was already set in the toolchain file. Sorry, I didn't explain this at all in my last comment, updated it. This seems to have worked, at least the 32-bit Neovim build using these dependencies ran successfully, and I can see an error message, though:
This seems to be unrelated to my changes, however, because it's also in a build on neovim master:
|
Updated to add the Here's a neovim build based on current |
Will redo this in two separate PRs after #14 is in. |
Summary
This PR adds rebuilding of dependencies on Travis CI and pushes to
neovim/deps
. It also adds the coverity trigger fromneovim/neovim
and should remove the need for acoverity-scan
branch there.Two changes in
neovim/neovim
are necessary for this: neovim/neovim#1037, neovim/neovim#1033.Coverity
Coverity is simply triggered for each build on this repo. Since this should happen only once per week (?) or if something is pushed, I hope that's okay. A commit that adds the encrypted
COVERITY_SCAN_TOKEN
would need to be added to make this work. If I understood correctly, with this it shouldn't be necessary to maintain a separatecoverity-scan
branch inneovim/neovim
anymore.Dependency rebuilding
Also added rebuilding of the dependencies to this PR. If this step is performed periodically, hopefully problems such as the ones related to luarocks (1 2) will be noticed more quickly and not only locally, but also on Travis.
This will unfortunately require a small change to
neovim/neovim
's travis.sh (neovim/neovim#1037) to change/opt/neovim-deps
to/opt/neovim-deps/usr
, or a change tothird-party/CMakeLists.txt
to be able to setDEPS_INSTALL_DIR
etc. directly. Paths are hard-coded in some files, so just moving the files around after building doesn't work.Helper script for local builds
Added a
local.sh
script to locally test builds more easily (see updated readme). Also testing builds on Travis should now be easier (see fwalch/bot-ci@f9bdabd).Final notes
I think it's easier to review this commit by commit. If this is too much for one PR, I'll split it into multiple ones.
Regarding #4: I think that coverity triggering doesn't really belong into
neovim/neovim
. I know that there's already a dependency rebuilding script inneovim/deps
, but I think it's easier to manage PRs if everything related to "bot builds" is centralized in this repo, and the "output repos" (neovim/doc
,neovim/deps
) contain as few non-autogenerated stuff as possible. I also think stuff like this should be run automatically and not rely on someone merging a branch to trigger a build.Here is a Travis build; output in fwalch/doc and fwalch/deps. Here's a neovim build that uses the auto-generated dependencies from
fwalch/deps
. Both builds are using testing branches where I added a commit that changes the repositories fromneovim/*
tofwalch/*
.That was quite a lot of text, sorry.. please let me know what you think!
Ping @aktau @jszakmeister @justinmk @ZyX-I