sqlite_orm icon indicating copy to clipboard operation
sqlite_orm copied to clipboard

Add github actions for unit tests and examples

Open fnc12 opened this issue 3 years ago • 8 comments

I've started this https://github.com/fnc12/sqlite_orm/pull/745 but I cannot figure out how to fix windows and ubuntu builds. Probably windows is missing sqlite lib but IDK how to install it. Ubuntu fails with segfault. Probably ubuntu need to increase template recursion depth compilation argument but I also don't know how to do it

fnc12 avatar Jul 02 '21 05:07 fnc12

Probably windows is missing sqlite lib but IDK how to install it.

Put sqlite's sources to third_party dir?

data-man avatar Jul 02 '21 05:07 data-man

@data-man sqlite receives updates regularly so it is not a good idea. The best way is to download it every time

fnc12 avatar Jul 02 '21 06:07 fnc12

Ok. Try switch to https://github.com/cpm-cmake/CPM

data-man avatar Jul 02 '21 06:07 data-man

the link gives 404

fnc12 avatar Jul 02 '21 06:07 fnc12

Sorry :) https://github.com/cpm-cmake/CPM.cmake

data-man avatar Jul 02 '21 06:07 data-man

I am just reading documentation and not actually running anything, but are you sure the Ubuntu issue is hitting the template recursion depth? https://stackoverflow.com/questions/52171430/how-to-avoid-gcc-crash-due-to-lack-of-memory suggests it's pretty easy to hit 6-8GB RAM usage with sufficiently complicated templates, and GitHub runners only have 7GB.

Moreover, if you were hitting the default depth limit, I would have expected a compiler message and not a segfault (like https://bugs.launchpad.net/ubuntu/+source/gcc-4.6/+bug/1063415).

No good suggestions on how to solve it though. Use clang instead?

eclarkso avatar Aug 19 '21 01:08 eclarkso

@eclarkso I am not sure about that. To be sure we need to implement Ubuntu with GCC first

fnc12 avatar Aug 19 '21 04:08 fnc12

so a friend of mine tried to add it for ubuntu but compilation fails with memory overflow

fnc12 avatar Dec 26 '21 18:12 fnc12

I have a better idea how to implement it

fnc12 avatar Oct 10 '23 16:10 fnc12

I have a better idea how to implement it

Apart from even more room for improvement, I just want to mention that sqlite_orm has a very nice appveyor test matrix, and that the template instantiation depth/memory exhaustion problem no longer exists since the use of tuples and fold expressions.

trueqbit avatar Oct 10 '23 18:10 trueqbit