Open achingbrain opened 5 years ago
This is a pretty good question @achingbrain, and you are correct that the ipfs
dependency lives in orbit-db-test-utils
. Is it possible on your end to upgrade the dependency in that module and then test ipfs-log
with it?
I ask because our plan is to eventually move the ipfs
dependency inside orbit-db
itself to orbit-db-test-utils
as well
We've talked about doing something like that, but it turns the testing environment into a sort of custom setup that begins to get hard to replicate.
It's much better to run only against direct dependencies - that way the code calling functions in the IPFS API also controls the version of the API it's using which makes everything a bit more predictable.
In https://github.com/ipfs/js-ipfs/pull/2498
ipfs-log
was added to the list of early tester projects - I'd like to get it running againstjs-IPFS
release candidates in CI to get early feedback on any problems.We use the
aegir test-external
command to do this - it clones a repo, does an install, runs the tests - if they pass it swaps anyipfs
oripfs-http-client
deps for the release candidate version and runs the tests again.The problem is this repo doesn't have a direct dependency on
ipfs
oripfs-http-client
so there's nothing to swap out, I think because it uses them via theorbit-db-test-utils
module.Would refactoring that library to take an IPFS module as an argument that could then be a dependency of this module be something you'd be interested in? That would guarantee that this module runs with a specific version of
js-IPFS
(as much as CI guarantees anything) instead of whatever versionorbit-db-test-utils
happened to be bundled with at the time.