How to do versioning of origin.js? #97
Description
[Discussion on Discord in past days about how to handle npm release schedule, incompatibility between versions of demo-dapp and orign.js]
Impacts several issues:
One-line setup: OriginProtocol/origin#105
Heroku-deploys: OriginProtocol/origin#107
@tyleryasaka writes:
We might just want to reference a git commit in our package.json rather than the published npm module
Like: "@originprotocol/origin": "github:OriginProtocol/platform#fa4bccde85120d19949ef678459fffad1fe6b74d",
Or even better, start using releases more frequently and referencing a release:
"@originprotocol/origin": "github:OriginProtocol/platform#v0.2.60",
@DanielVF writes:
@wanderingstan Since origin.js develop and dapp develop both grow together during sprints, this means that it's going to be rare in the near future for dapp develop branch to be able to work with npm origin.js from the end of the previous sprint. It's going to need something more recent.(edited)
So we either have to release to NPM a lot, or make sure people using the dapp npm link to latest platform develop commits.(edited)
- We should definitely be releasing to NPM a lot, at least at the end of each sprint.
- As pointed our before, we could point demo-dapp to specific commits of origin.js, but IMO this feels hacky and against good versioning practice.
- This issue impacts to our other desire to have one-click-heroku-deploys (Easy deploy to Heroku origin#107)
- From a new developer perspective, the big concern is that first-timers (with no knowledge of our release schedule) can be up and running with no fuss. (Case in point: @lyubomirr hit this exact issue this weekend, and @b33son a few days before that: Demo App on Develop branch origin#106 )
One idea
Our current "promise" is that master
on demo-dapp refers to version deployed at demo.originprotoco.com. But we clearly aren't updating that often (given how much the contacts are changing.)
Could we go back to having master
be our default-shown branch, with the "promise" that master
branches of demo-dapp and develop are always compatible, and generally updated at the end of each sprint? (Now that we can add notes to pull requests, we can add instructions there about targeting develop
for PRs?)