Merge pull request #506 from ipfs/feat/add-testground-higlights-2022

blog: add testground highlights 2022
This commit is contained in:
Piotr Galar
2022-12-16 21:22:24 +01:00
committed by GitHub
4 changed files with 82 additions and 0 deletions
@@ -152,6 +152,7 @@ fields:
target="_blank">file an issue</a> with the details.
pages:
- src/_blog/2021-05-31-distributed-wikipedia-mirror-update.md
- src/_blog/2022-12-07-testground-in-2022.md
- src/_blog/3s-studio-bringing-unreal-engine-to-ipfs.md
- src/_blog/a-brave-new-wallet-the-future-of-the-browser-wallet.md
- src/_blog/a-guide-to-ipfs-connectivity-in-web-browsers.md
@@ -0,0 +1,81 @@
---
tags:
- Testground
title: "Highlights of Testground 2022"
description: "Testground is a platform for testing and benchmarking distributed systems. This year, the IPDX team re-ignited the project."
date: 2022-12-20
permalink: "/testground-highlights-in-2022/"
translationKey: ''
header_image: /2022-12-07-testground-article-header.png
author: Laurent Senta
---
Testground is a platform for testing and benchmarking distributed systems. We used it before to work on massive improvements to IPFS DHT, Filecoin Network, and libp2p. This year, the [IPDX team](https://pl-strflt.notion.site/IPDX-122073392dce454e9ca4b87231034483) re-ignited the project. We started two collaborations, created a new use case for interoperability testing, and welcomed new users and contributors.
Now that the end of the year is near; it is time for a “bragging session” and to share our master plan to take over the CIs of the entire Protocol Labs Network!
[[toc]]
## 🔌 A new use case: interoperability testing for [libp2p](https://libp2p.io/)
Using Testground, the libp2p team is now testing interoperability between many implementations and versions. The newly introduced tests cover go-libp2p and rust-libp2p versions already, and js and nim support is in the works.
**Milestones:**
- **Mixed Builders Feature**: We can now write a test that depends on [multiple builders and languages](https://github.com/testground/testground/pull/1367).
- **Interoperability Support Improvements in Go**: Testground can [rewrite mod files](https://github.com/testground/testground/pull/1338), and [overwrite dependencies](https://github.com/testground/testground/pull/1338). This enables users to test many different versions of a library using a single test source.
- [**sdk-rust**](https://github.com/testground/sdk-rust): We introduced the [sdk-rust](https://github.com/testground/testground/pull/1287) and [improved it over the year](https://github.com/testground/sdk-rust/pulls?q=is%3Apr+is%3Aclosed).
- [**sdk-js**](https://github.com/testground/sdk-js): Thanks to [Little Bear Labs](https://littlebearlabs.io/) support, the Testground SDK for JavaScript [now works in the browser](https://github.com/testground/sdk-js/pull/26) too.
We also [presented _how Testground powers libp2p interoperability testing_ at IPFS Camp](https://www.youtube.com/watch?v=b2SkC4dYV-A) (Youtube).
## 🤹 Massive stability improvements for supported SDKs
Testground has an issue with flakiness. The project's stability has been on our minds throughout the year, and we have made significant strides in this area.
**Milestones:**
- **A refreshed Docker Runner**: to support new languages better and fix concurrency issues, we [rewrote the Docker Runner](https://github.com/testground/testground/pull/1407#issuecomment-1203853804). In our tests, **false negatives went from 40% to <1%.**
- **Benchmarking and stability improvements:** we've implemented tooling and [fixes](https://github.com/testground/testground/pull/1421) that help with CI [testing](https://github.com/libp2p/test-plans/pulls?q=is%3Apr+is%3Amerged+merged%3A%3E%3D2022-01-01). Some of this work will soon become part of the Testground Stability Dashboard and custom CI actions.
## 🐘 EKS Support
Testground is also designed to run large network tests spanning far beyond what a single machine can handle. With Testground on [EKS](https://aws.amazon.com/eks/) (managed Kubernetes service from AWS), we can support tests with more than 10k nodes.
**Milestones:**
- **Preview Support for EKS:** The [Bloxico team](https://bloxico.com/) has been working hard on [Testground EKS support](https://github.com/testground/testground/pull/1350) and [EKS infrastructure setup for Testground](https://github.com/testground/infra/pull/78). A working alpha setup is now available. Other teams, such as [Celestia](https://celestia.org/), are already building on top of it.
## ✨ And sooooo much more
✨ The team also dusted off [SDKs](https://github.com/testground/sdk-js/pull/22) and [examples](https://github.com/testground/testground/pull/1306), helped [improve ARM support](https://github.com/testground/testground/pull/1372). We introduced new [features](https://github.com/testground/testground/pull/1481), [bug fixes](https://github.com/testground/testground/pull/1321), and [brought many more improvements](https://github.com/testground/testground/pulls?q=is%3Apr+is%3Aclosed+merged%3A%3E2022-01-01+).
## 🫶 New Users
New users and contributors are joining the project!
- [**Celestia**](https://celestia.org/) is using Testground to [test their network](https://github.com/celestiaorg/test-infra). Building on top of our EKS Preview, they simulate between 4 and 6 thousand nodes.
- [**Magmo**](https://magmo.com/) is using Testground to test and benchmark their payment channel. They had success with stability and performance measurements. They shared an excellent presentation during [Retrieval Markets Summit](https://www.youtube.com/watch?v=xYn8Evkrs30) (Youtube).
- [**status.im**](https://status.im/) is [working](https://github.com/libp2p/test-plans/pull/70) on adding their nim implementation to the libp2p interoperability repository.
- [**Sigma Prime**](https://sigmaprime.io/) is using Testground to [test their implementation](https://github.com/ackintosh/discv5-testground) of Ethereum's Peer Discovery Protocol.
- [**number0**](https://n0.computer/) uses Testground to benchmark [iroh](https://iroh.computer/), an IPFS implementation written in Rust focused on efficiency. They share numbers on [their website](https://iroh.computer/).
- **Moving the Bytes Working Group** uses Testground to benchmark and test bitswap and new protocols for data exchange. You can follow along in [Notion](https://www.notion.so/MTB-WG-Meeting-1-cfeed84309894936bd652f1b47f3221a) and join the [#move-the-bytes-wg](https://filecoinproject.slack.com/archives/C04A22DCQCF) channel on FIL Slack.
## 🚀 What's Next
We shared a [Roadmap](https://github.com/testground/testground/blob/master/ROADMAP.md) for what is coming to Testground in 2023. Here are the highlights.
- **Better Network Simulation & New Features:** We plan on improving [network simulation](https://github.com/testground/testground/issues/1488) for libp2p and the Move The Bytes WG. We are also adding the ability to run [more complex test plans](https://github.com/testground/testground/issues/1493) and [browser support](https://github.com/testground/testground/issues/1386). Testground improves the fastest when its “customer-driven”.
- **Testing, Stability, and Workflows Improvements:** the team [will invest](https://github.com/testground/testground/issues/1512) in bringing Testground building and testing tools to a state where it's easy & efficient to contribute. We want to improve the scale and stability of changes we can make, encourage external contributions, and communicate clearly about stability & regressions.
<div class="blog type-rich block w-full p-6 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700">
✨ Testground is like that kid in the back of the class, *"great potential, needs more attention.”* We believe it's brilliant, and we'd like to encourage you to [**join us**](https://docs.testground.ai/v/master/table-of-contents/readme/community)!
Whether you already know Testground and can't wait for improvements, or you are discovering the project and thinking about using it, we'd like to hear more from you:
- [Join the Community](https://docs.testground.ai/v/master/table-of-contents/readme/community) and build the future of Testground with us!
- Take two minutes to fill out our [User Survey Form](https://docs.google.com/forms/d/e/1FAIpQLScnsIVq2c6nLqchStzX78LyaZxo5CiIJUviMcMuYBz2QdpdMw/viewform) and help us identify pain points.
</div>
Binary file not shown.

After

Width:  |  Height:  |  Size: 418 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 555 KiB

After

Width:  |  Height:  |  Size: 423 KiB