ipfs-log
ipfs-log copied to clipboard
How to test ipfs-log against js-IPFS RCs
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 against js-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 any ipfs
or ipfs-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
or ipfs-http-client
so there's nothing to swap out, I think because it uses them via the orbit-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 version orbit-db-test-utils
happened to be bundled with at the time.
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.