When developing against ipfs/go-ipfs, we would like to be able to use
the 2xlarge resource class for faster build and test cycles, but many
external contributers will not have this resource class available to
them. There is no direct way to change the resource class, so this
uses dynamic config to generate a parameters JSON obj which is then
fed into the configuration when the workflow starts, based on the Git
URL of the build.
For repos other than ipfs/go-ipfs, this reverts back to the "medium"
resource class with a Make job parallelism of 3.
- added dynamic buttons for packages/downloads which shows the latest version where possible
- dynamic next milestone buttons
- reordered to have package managers and docker on top, manual downloads afterwards
- remove the docker and the cli section, since they are covered equally in the docs + button links
- added more sections to the navigation, to find stuff easier
- dynamic go requirement version button
- some social media buttons
- general cleanup
The code example for using IPFS as a library doesn't run unless indirect dependencies are updated:
```
$ go version
go version go1.17 linux/amd64
$ uname -a
Linux home 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux
$ go run main.go
go: github.com/ipfs/go-ipfs@v0.9.1 requires
github.com/ipfs/go-bitswap@v0.4.0: missing go.sum entry; to add it:
go mod download github.com/ipfs/go-bitswap
go: github.com/ipfs/go-ipfs@v0.9.1 requires
github.com/ipfs/go-bitswap@v0.4.0: missing go.sum entry; to add it:
go mod download github.com/ipfs/go-bitswap
```
Remedied by:
```
$ go mod tidy
$ go run main.go
-- Getting an IPFS node running --
Spawning node on a temporary repo
...
```
Also, require go version 1.16, otherwise, example can fail under go
1.15 with errors like:
```
go build github.com/lucas-clemente/quic-go/internal/qtls:
build constraints exclude all Go files in
/home/jbouwman/go/pkg/mod/github.com/lucas-clemente/quic-go@v0.23.0/internal/qtls
```
This preloads the peerlog plugin in the ipfs binary, but keeps it
disabled by default. To enabled it, set Enabled=true in its config.
The motivation is to simplify building and deploying gateways, and for
them to use binaries that are more similar to release bins.
Specifically, if you specify a commit, you get only that commit. This
means you get _nothing_ if you specify a merge commit.
Now, we specify to diff between a commit and it's (merge) parent.
* feat: extract Bitswap fx initialization to its own file
* chore: bump go-bitswap dependency
* feat: bump go-ipfs-config dependency and utilize the new Internal.Bitswap configuration options. Add documentation around the new OptionalInteger config type as well as the Internal.Bitswap options.
* docs(docs/config.md): move the table of contents towards the top of the document and update it
Co-authored-by: Petar Maymounkov <petarm@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Gus Eggert <877588+guseggert@users.noreply.github.com>
* feat: switch to using go-ipld-prime for codecs, path resolution, and the `dag put/get` commands
* fix: `dag put/get` not roundtripping due to an extra new line being added (https://github.com/ipfs/go-ipfs/issues/3503)
More detailed information is in the CHANGELOG.md file. Very high level:
* IPLD codecs (and their plugins) must use go-ipld-prime
* Added support for the dag-json codec
* `dag get/put` use IPLD codec names from the multicodec table
* `dag get` defaults to dag-json output instead of json, but may output with other codecs
* Data model pathing can be achieved using the /ipld prefix. For example, you can use `/ipld/QmFoo/Links/0/Hash` to traverse through a DagPB node
* With `dag get/put` the DagPB field names have been changed to match the ones in the protobuf listed in the specification
Co-authored-by: hannahhoward <hannah@hannahhoward.net>
Co-authored-by: Daniel Martí <mvdan@mvdan.cc>
Co-authored-by: acruikshank <acruikshank@example.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: Will Scott <will.scott@protocol.ai>
Co-authored-by: Will Scott <will@cypherpunk.email>
Co-authored-by: Rod Vagg <rod@vagg.org>
Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>
Co-authored-by: Eric Myhre <hash@exultant.us>