-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Examples repo/infra setup #29
Comments
The timer that pull updates run on expires every month or so. Instead switch to using push updates from the master repo. Refs ipfs/helia#29
The timer that pull updates run on expires every month or so. Instead switch to using push updates from the master repo. Also default to Helia and not js-ipfs. Refs ipfs/helia#29
This is taking shape over at https://github.com/ipfs-examples/helia-examples So far there are examples for:
There are instructions on how to add new examples in the readme. It's set up to push any changes from the monorepo to the individual example repos, they just need to be create from the example template and given the same name as their folder under There are plenty of other js-ipfs examples that need porting:
These can largely be ported from the existing js-ipfs examples. |
@achingbrain : this is great. I would like to make it clearer that this is an issue where someone can pick off examples to learn the ball forward and move us forward. Thoughts on how to achieve this:
|
@achingbrain : please list what's remaining for closing this issue out. For tracking the porting of examples over, I created #43 |
Nothing I think, #43 covers it. |
Bumps [aegir](https://github.com/ipfs/aegir) from 39.0.13 to 40.0.11. - [Release notes](https://github.com/ipfs/aegir/releases) - [Changelog](https://github.com/ipfs/aegir/blob/master/CHANGELOG.md) - [Commits](ipfs/aegir@v39.0.13...v40.0.11) --- updated-dependencies: - dependency-name: aegir dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: achingbrain <alex@achingbrain.net>
## @helia/dag-cbor-v1.0.0 (2023-08-27) ### Features * initial commit ([ed4c319](ipfs/helia-dag-cbor@ed4c319)) ### Dependencies * **dev:** bump aegir from 39.0.13 to 40.0.11 ([#29](ipfs/helia-dag-cbor#29)) ([973bb5b](ipfs/helia-dag-cbor@973bb5b))
js-ipfs has a comprehensive example suite at https://github.com/ipfs-examples/js-ipfs-examples - it would be amazing for helia to have something similar.
The example suite is a monorepo with all examples in the
examples
directory. Each example is a self-contained module that showcases one feature of js-ipfs or how to integrate it with a build tool, and they all contain tests to prevent regressions.Each example is copied into it's own repo in the
ipfs-examples
org by the fork & go github action to aid discoverability yet make the maintenance of these examples manageable.Syncing changes
Changes to the monorepo are pulled into the split-out repos, any changes that have been made to the split-out repos are discarded. This is done by a sync job copied from the fork & go template.
An improvement for helia would be to switch this around and have the monorepo push changes out to the split-out repos, the reason being the sync job runs on a timer and GitHub disables the timer if no changes are observed for a month or so, which means a maintainer has to manually go through and re-enable the timer for every split-out repo periodically - see ipfs-examples/js-ipfs-examples#44
Where to start
Create a repo in the
ipfs-examples
org calledhelia-examples
.Start with just one example, perhaps bundling with esbuild (easy since aegir already builds helia with esbuild for browser tests so there shouldn't be any extra config required) - port the example, the docs and the tests.
The sync job should be run from the
helia-examples
repo instead of from the split-out repos.Prequisites
After #17 is merged helia should be installable with
npm i helia@next
. An automated PR will also be created that sets up a gated release of v1 of helia - when that is merged dependabot should take care of upgrading all the example deps.The text was updated successfully, but these errors were encountered: