Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

release 0.21 #712

Closed
daviddias opened this issue Jan 16, 2017 · 9 comments
Closed

release 0.21 #712

daviddias opened this issue Jan 16, 2017 · 9 comments

Comments

@daviddias
Copy link
Member

I want to release js-ipfs v0.21, but first I would like to make sure that everyone is up to date in the latest additions and that tests from the projects using it are run, so that updates can happen smoothly.

big additions of this release (since last minor):

@daviddias
Copy link
Member Author

@haadcode can you point me to which tests I can(should) run from Orbit land?

@daviddias
Copy link
Member Author

From IRC

11:53 <@daviddias> What tests of ipfs-log, orbit, orbit-db and so on, should I try first before release?
11:59 <haad> daviddias: just run the ipfs-log tests and orbit-db tests and if they work, all good. note that they don't run browsers tests, so it'll use js-ipfs nodejs version.
12:04 <@daviddias> doing it :)

@haadcode tests are failing for me, both in orbit-db and ipfs-log without linking the new js-ipfs, they fail on master. Could you check? Tried with Node.js 6 LTS and NPM 3.

@haadcode
Copy link
Member

without linking the new js-ipfs, they fail on master

This is expected behaviour. Right now ipfs-daemon uses js-ipfs from a branch and will fetch the same version as opposed to npm patch update.

Once js-ipfs with pubsub is released, I can make ipfs-daemon to use it from npm again.

If the tests run with linking to the new js-ipfs module, then all good!

@daviddias
Copy link
Member Author

@haadcode ok, so knowing that tests on master are supposed to fail, here is what I get when I link the new js-ipfs

Orbit-db

  Orbit Client with js-ipfs
    Add events
      1) adds an item to an empty channel
      2) adds a new item to a channel with one item
      3) adds five items
      4) adds an item that is > 256 bytes
    Delete events (Feed)
      5) deletes an item when only one item in the database
      6) deletes an item when two items in the database
      7) deletes an item between adds
    Iterator
      Defaults
        8) "before each" hook: f0 for "returns an iterator"
    Delete
      ✓ deletes a channel from the local database
    Key-Value Store
      9) put
      10) get
      11) put updates a value
      12) put/get - multiple keys
      13) deletes a key
      14) deletes a key after multiple updates
      15) get - integer value
(node:87137) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Hash can't be null!
      16) get - object value
      17) get - array value
      ✓ syncs databases
    Document Store - default index '_id'
      18) put
      19) get - partial term match
      20) get after delete
      21) put updates a value
      22) query
      23) query after delete
    Document Store - specified index
      24) put
      25) get - matches specified index

  Orbit Client with js-ipfs-api
    26) "before all" hook
(node:87137) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): TypeError: Cannot read property 'stopDaemon' of undefined


    27) "after all" hook

And all of these fail with the same error:

21) Orbit Client with js-ipfs Document Store - default index '_id' put updates a value:
     Error: Hash can't be null!
      at OrbitDB._onWrite (src/OrbitDB.js:103:21)
      at _oplog.add.then.then.then.then.then.then (node_modules/orbit-db-docstore/node_modules/orbit-db-store/src/Store.js:89:33)

Any guess on what could it be?

Are these stacktraces with .then.then.then.then a thing with Promises?

ipfs-log

Seems fine to me:

  Entry with js-ipfs
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/192.168.2.29/tcp/4001
Swarm listening on /ip4/192.168.2.215/tcp/4001
    create
      ✓ creates a an empty entry
      ✓ creates a entry with payload
      ✓ creates a entry with payload and next
      ✓ `next` parameter can be a string
      ✓ `next` parameter can be an instance of Entry
      ✓ throws an error if ipfs is not defined
    toIpfsHash
      ✓ returns an ipfs hash
    fromIpfsHash
      ✓ creates a entry from ipfs hash
      ✓ throws an error if ipfs is not present
      ✓ throws an error if hash is undefined
    hasChild
      ✓ returns true if entry has a child
      ✓ returns false if entry does not have a child
    compare
      ✓ returns true if entries are the same
      ✓ returns true if entries are not the same

Only fails on the js-ipfs-api ones, but also failed on master, so is that expected?

@daviddias
Copy link
Member Author

15:33 <haad> daviddias: ah sorry! orbit-db (w/ pubsub) to test against is in a branch: https://github.com/haadcode/orbit-db/tree/0.16.0-beta.1
15:34 <haad> daviddias: expect the tests to fail with js-ipfs-api, but they should work with js-ipfs
15:34 <@daviddias> docs docs docs :D
15:35 <@daviddias> or in this case, WIP PRs :) 
15:37 <@daviddias> good news everyone "106 passing (5s)"

Tests passing! :D

@daviddias
Copy link
Member Author

Two blockers:

  • Interop tests are failing (npm run test:interop)
  • Sometimes this test fails:
1) HTTP API ## interface-ipfs-core tests over ipfs-api .config "after all" hook:
     Uncaught AssertionError: expected [Error: connect ECONNRESET 127.0.0.1:55645] to not exist

@daviddias
Copy link
Member Author

Interop tests pass with latest go-ipfs (as expected)
Fixed HTTP-API tests ipfs-inactive/interface-js-ipfs-core#110 (things got faster and surfaced this bug :) )

@daviddias
Copy link
Member Author

daviddias commented Jan 17, 2017

+ ipfs@0.21.0 [11:59:22] Published to npm.

🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉

Go try it out and tell us how it behaves for you :)

@paulaparker38
Copy link

I want to release js-ipfs v0.21, but first I would like to make sure that everyone is up to date in the latest additions and that tests from the projects using it are run, so that updates can happen smoothly.

big additions of this release (since last minor):

#712 (comment)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants