source tarball doesn't include vendored libgit2, testing fails because of missing resources
Rugged uses the same test resources as libgit2. However, in the release tarball the submodules are missing and there are no additional assets, that include them!
Without vendor/libgit2/tests/resources the tests can not be run, when building from source. A separate, pinned version of libgit2 needs to be downloaded to copy the resources in place.
Please create assets, that include all required submodules. If you're interested, I can provide a shell script to do that (optionally creating a detached gpg signature for the tar ball).
This project does not provide release tarballs. The source code in the repository includes all of libgit2 by submodule; and I suppose maybe we could keep the tests from libgit2 in the gem, but I don't think there's an expectation to run the test suite from the released artifact.
@carlosmn I'm talking about the release tarballs (the source tarballs).
I'm aware as to why the libgit2 sources are not in the source tarball, I was merely suggesting a way forward, that does not include the overhead of tracking also downloading a specific version of libgit2 alongside it to be able to run tests.
Running tests against libgit2 is essential for system packages on e.g. Linux distributions, as there we build from source (unless when bundling/ working on a specific project or similar where a gem might be preferred).
but I don't think there's an expectation to run the test suite from the released artifact.
Does this mean you do not validate the functionality of the uploaded gem on rubygems.org by running the test suite? The system integration (and the tests) ensure, that things actually work together. Given the long track record of either having outdated libgit2 sources (#833, #780), or missing tags (#776) I think this more than validates an approach in which tests can actually be run reproducibly (by anyone).
A potential solution would either be to create specific assets, that also contain the cloned submodule (I have done similar things for e.g. supercollider), or to use git-subtree instead of git-submodule to include libgit2.
Closing, as there is no response and I'm downloading a separate source tarball now to make tests work...