Cannot reproduce the flakiness at the moment. The report suggests that connections are established on different transports. Adding logging to show what these transports are.
- Add a basic testground plan for bitswap
- Showcases how to emit regressions stats from a testplan
- Add CI plumbing to run testplans on push
As a result of this PR, also:
- Created the ipfs/go-ipfs-regressions repo, which defines stats structures for the output of testplans and the input to regression analysis and tests
When the config was wrapped in a continuation so that params could be
dynamically generated, this broke tag workflows since there was no
explicit tag filter anymore in config.yml. This attempts to fix that.
I may have gotten this wrong, since this is intrinsically hard to
test. We'll see next time we tag something.
* fix(cli): object add-link: do not allow blocks over BS limit
* refactor: allow-big-block
- renamed override flag to --allow-big-block
- separate tests for default and override behavior
Co-authored-by: Marcin Rataj <lidel@lidel.org>
* feat: report block count on `dag import`
* fix: clean-up dag import message format
* Only print stats when --stats flag is passed
This applies to both text and json output encoding.
- Stats data is now contained within a Stats datastructure
- Stats are printed after root so that first line of output is the same as previously, even when stats are output using --stats
* fix sharness test
* Add PayloadBytesCount to stats
* Attempt to stabilize flaky tests
* Rename PayloadBytesCount to BlockBytesCount
* Correctly calculate size or imported dag
* Use RawSize of original block for import bytes calc
* test: dag import without --stats
basic regression tests for the default output (text and json)
Co-authored-by: gammazero <gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
(cherry picked from commit 0057199af4)
* Add a transcoder command to multibase
In order to more easily facilitate the conversion
between multibase formats, include a transcode command
to avoid `multibase decode | multibase encode`
* Example code needed go mod tidy
Co-authored-by: gammazero <gammazero@users.noreply.github.com>
(cherry picked from commit c89110920e)
* feat: added swarm peering command supporting add, ls and rm
Co-authored-by: Steven Allen <steven@stebalien.com>
(cherry picked from commit a651045c50)
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.
(cherry picked from commit b2c3959a4f)
- 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
(cherry picked from commit 04d1369a63)
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
```
(cherry picked from commit cb189c7b78)
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.
(cherry picked from commit a35dd2ea0d)
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.
(cherry picked from commit 4e132af3ef)