-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Conversation
Here goes my first suggestions:
|
I've captured notes from the Retrospective and delivered them as feedback and proposed OKRs for the DX team -- ipfs-inactive/dev-team-enablement#142. |
I've also captured the notes from the Weekly Discussions and Retrospectives and communicated to the @ipfs/infrastructure Team our proposed OKRs at ipfs/infra#434 |
29a9bee
to
8a09293
Compare
More proposals:
|
Another one:
|
I want to:
I'd also like to see opt-in continuous deployment for JS projects. E.g. you merge a PR, Jenkins builds it, revs the version number and publishes a new version to npm or deploys an app, etc. |
The main topics/areas i think we should improve are:
|
ha, done. I've been using it for weeks now! Seriously though, +1 on this, and using it on CI. |
Personally I need to focus on completing the work I started last quarter:
It's super important that CIDv1 base32 becomes a thing from a security perspective for the gateways, but also...TODO In the retrospective for Q3 I listed this:
I've made progress on speeding up JS IPFS in Q3 (ipld/js-ipld#145, #1528, #1542, ipfs-inactive/dev-team-enablement#73), but there's not just one thing that contributes to slowness. I think rather than gathering stats on this particular round of improvements, time would be better spent identifying some useful benchmarks and creating a re-usable harness that can be run against js-ipfs to track and graph performance over time. We should also be able to run these for older releases and compare and contrast with the same benchmarks in go-ipfs. Maybe iptb is the thing to use for this? The biggest thing I see as a hurdle to js-ipfs being a viable alternative to go-ipfs is not having a DHT. This is the last step of our connectivity magic plan, and I think that it'll enable people to seriously use js-ipfs (outside of a browser context) as a serious alternative to go-ipfs. |
@alanshaw, @hugomrdias and @achingbrain, wanna take a stab of converting the KRs proposed in this doc into a commit to the OKR file so that we can then evaluate together? Following of how we've done this in the past and how js-libp2p continued the tradition. |
@diasdavid @hugomrdias @achingbrain I've added a first pass attempt, please let me know what you think 😄 |
OKR.md
Outdated
* P0 - @hugomrdias - JS IPFS is capable of transferring a large dataset like ImageNet at least 75% as fast as Go IPFS | ||
* P2 - @hugomrdias - The browser bundle of IPFS is not more than 1.5MB (gzipped) in size | ||
* P3 - @hugomrdias - Browser bundle size is measured over time and developers alerted if it increases above 1.5MB | ||
* P1 - @alanshaw - A website is published to visually track a set of basic performance profiles of JS IPFS releases over historical versions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could it be continuing the work of https://github.com/ipfs/benchmark.js.ipfs.io?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will certainly be looking at how it can be used/extended!
OKR.md
Outdated
|
||
* P0 - @hugomrdias - Error codes are added to all errors that originate directly from JS IPFS | ||
* P2 - @alanshaw - Test quality is improved, duplicates removed and coverage increased | ||
* P0 - @achingbrain - js-ipfs-unixfs-engine is decomposed into smaller modules for better maintainability, testability and reliability. The refactored modules are part of a JS IPFS release |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make sure to extract the HAMT so that it can be used as a generic KV store on top of IPLD //cc @mikeal
OKR.md
Outdated
# Stable and future proof | ||
|
||
* P0 - @hugomrdias - Error codes are added to all errors that originate directly from JS IPFS | ||
* P2 - @alanshaw - Test quality is improved, duplicates removed and coverage increased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Over the entire project? Better take a snapshot then :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👏🏽👏🏽👏🏽
I like these!
OKR.md
Outdated
* P2 - @alanshaw - Test quality is improved, duplicates removed and coverage increased | ||
* P0 - @achingbrain - js-ipfs-unixfs-engine is decomposed into smaller modules for better maintainability, testability and reliability. The refactored modules are part of a JS IPFS release | ||
* P2 - @achingbrain - Candidate modules for extraction from JS IPFS (e.g. js-ipfs-mfs) are identified and agreed | ||
* P1 - @achingbrain - Continuous deployment is an option for all Protocol Labs JS projects. 3 IPFS/IPLD/libp2p projects are setup to be continuously deployed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
an helpful deliverable on this would be deploy requirement docs for each project to help during CD implementation.
OKR.md
Outdated
* P0 - @vasco-santos - DHT is enabled by default and interoperates with Go IPFS DHT | ||
* P1 - @vasco-santos - IPNS is functional over pubsub and the DHT | ||
* P0 - @alanshaw - Base32 CIDv1 migration is complete | ||
* P0 - @alanshaw - A JS IPFS daemon is part of the IPFS gateways |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does "is part of" mean here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean that it is one (or more!) of the nodes that belong to the IPFS gateway.
Obvisously this will require close communication with the infra team and I anticipate working on requirements the infra team may have for an IPFS gateway node (setup?, reporting?, throughput?, stability?). I'm thinking we'll likely want to "soft" launch and gradually ramp up traffic being directed to the node as performance and stability are proven.
@alanshaw it would be nice to have a repo migration tool. What do you think? |
@vasco-santos thanks for raising this - yes we really need that, we spoke offline and it looks like your time constraints won't allow you to get to it this quarter. I think we might have to bump it to next quarter unless @achingbrain or @hugomrdias feel they can also fit this in!? |
I could take that on, would love to get a bit deeper into the repo |
Maybe drop the unixfs-v2 thing from my OKRs - there's this already: ipld/legacy-unixfs-v2#12 and @mikeal seems to be pushing ahead with that. |
@achingbrain it would be beneficial for the unixfsv2 spec to have been reviewed, and possibly had input from someone who has intimate knowledge of v1. You built the JS MFS implementation and are the lead maintainer for It sounds like @mikeal has the same goal to have a draft ready by the end of Q4 - it would be awesome if you could help him pull it over the line? |
@diasdavid @achingbrain @hugomrdias @vasco-santos I'm going to transfer these to the spreadsheet now as it looks like we're nearly done 😱. Please double check the latest changes here 🚀 🚢 👍 😃 |
* P2 - @achingbrain - Candidate modules for extraction from JS IPFS (e.g. js-ipfs-mfs) are identified and agreed | ||
* P1 - @achingbrain - Continuous deployment requirements for infra are established making CD an option for all PL JS projects. 3 IPFS/IPLD/libp2p projects are setup to be continuously deployed | ||
* P2 - @achingbrain - A draft spec for unixfs-v2 is finalized | ||
Find the **js-ipfs OKRs** for 2018 Q4 at the [2018 Q4 IPFS OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/139lROP7-Ee4M4S7A_IO4iIgSgugYm7dct620LYnalII/edit#gid=274358435) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚡️👏🏽👍🏽
Ref: ipfs/team-mgmt#698
@alanshaw, @hugomrdias, @achingbrain et al, you know the drill :)