Commit Graph

16 Commits

Author SHA1 Message Date
Piotr Galar e5e32c7c0a
chore: parameterise s3 build cache setup (#465)
* chore: parameterise s3 build cache setup

* Apply suggestions from code review

Co-authored-by: Alex Potsides <alex@achingbrain.net>

* fix: cache load/push

* chore: pass creds when reading cache

* fix: interact with aws only using the CLI

* Update transport-interop.yml

---------

Co-authored-by: Alex Potsides <alex@achingbrain.net>
2024-09-11 10:01:42 +02:00
Thomas Eizinger 1e37b93e93
feat(hole-punch): add hole-punch interoperability test suite (#304) 2023-10-17 10:07:25 +11:00
Thomas Eizinger 6ab15df0ec
Rename `multidim-interop` to `transport-interop` (#308) 2023-10-05 14:12:39 +11:00
Alex Potsides 5c74bfec3d
feat: expose name-ignore setting (#239)
Exposes `--name-ignore` as `test-ignore` in the ping test github action to be consistent with how `--name-filter` is exposed as `test-filter`

Follows on from #225
2023-07-20 06:54:46 +01:00
Marco Munizaga cbca2c06de
multidim-interop: Update rust-libp2p .gitignore with chromium-image.json (#232)
* .gitignore chromium-image.json

* Assert that git tree is clean
2023-07-14 10:00:35 -07:00
Piotr Galar 35ab35b1a4
feat: run multidim-interop.yml on self-hosted runners (#154)
* feat: run multidim-interop.yml on self-hosted runners

* feat: make worker count configurable

* feat: enable docker.io proxy on self-hosted runners

* chore: provide s3 creds through env

* Try 4 workers

* ci: run-multidim-interop on 16 workers

* chore: change self hosted labels

* Update .github/workflows/multidim-interop.yml

Co-authored-by: Piotr Galar <piotr.galar@gmail.com>

* Use self-hosted runners for now

This reverts commit 7e868ea6b486798c03ad5b88f14c1a78e51e7c26.

---------

Co-authored-by: Marco Munizaga <git@marcopolo.io>
Co-authored-by: Marco Munizaga <marco@marcopolo.io>
2023-07-07 15:41:38 -07:00
Marco Munizaga 23fdcef9be
Cache images slightly differently (#165) 2023-04-11 11:29:32 -07:00
Max Inden b0d8a55dd9
fix(aws): Only set bucket var when creds are available (#136)
The `dockerBuildWrapper` script enables caching based on the `AWS_BUCKET`
environment variable. When calling the `libp2p ping interop test` with a bucket
name but no AWS credentials, this leads to the script enabling caching even
though the workflow does not have access to AWS.

With this commit the environment variable `AWS_BUCKET` is only set when
credentials are available and thus the `dockerBuildWrapper` script does not enable
caching then workflow does nothave access to AWS.
2023-02-13 09:50:47 -08:00
Marco Munizaga 3b6d87b532
Update Go & JS tests to conform to the multidim interop test spec. (#121)
* Update Go test implementations to match new spec

* Update JS test implementation

* Update Rust test Implementation

* Update root Makefile

* Update runner to new spec

* Use composite action and S3 caching

* Not using GHA cache anymore

* Try removing access key from env

* Test workflow without cache keys (#131)

* Test if it works without s3 cache keys

* Fix if statement

* Fix if statement

* Always use buildkit

* Undo debug change

* Add no cache workflow

* Skip test in no-cache workflow

* Update .github/workflows/no-cache-multidim-interop.yml

* Same workflow; use CACHING_OPTIONS

* Add Browser WebRTC test (#130)

* Add webrtc to JS test

* Add onlyDial to all queries

* Update versions.ts

* Remove unneeded timeout overrides
2023-02-10 17:00:53 -08:00
Thomas Eizinger c9130e425d
Introduce composite action for running ping interop tests (#123)
Co-authored-by: Marco Munizaga <git@marcopolo.io>
2023-02-02 10:17:22 +11:00
Marco Munizaga 23ff0db5b5
Support other repos using the multidim interop tests (#99)
* Support running interop workflow from other repos

* A bit of shuffling and cleanup
2023-01-13 10:23:58 -08:00
Laurent Senta 1b981a33e0
.github/workflows: use write-artifacts and prevent rebuild (#40)
* .github/workflows: use write-artifacts to prevent rebuild

* .github/workflows: increase build timeout

* .github: add testground install retry
2022-09-23 11:42:26 +02:00
Laurent Senta 520162a188
.github/actions/setup-testground: shortcircuit with edge releases (#34) 2022-09-07 08:45:54 +02:00
Laurent Senta d872355bc0
feat: add retries & update ping/go interop test (#32)
* .github/workflows/run-composition.yml: retry the build command

* .github/workflows/run-composition.yml: reduce run timeout for now

* .github/workflows/*: run on push and PR

* .github/actions: check testground health

* ping/_composition/*: reorder lib versions

* ping/: update with go-libp2p v0.22

* chore: gofmt

* .github/workflows: allow check test-plans during PR and push

* .github/workflows/*: introduce ping-interop-latest

* .github/workflow: tweak retry + timeout

* .github/actions/setup-testground: retry install

* ping/rust: update with v0.47.0 release
2022-08-29 16:34:15 +02:00
Laurent Senta 072d351a5f
ping/rust: introduce rust cross-version test (#26)
* ping/go: fix composition name

* ping/rust: introduce the ping/rust test

* Showcase version selection through features

Can be run with `cargo check --features libp2pv0450` or `cargo check --features
libp2pv0440`.

* Peer programming session

* ping/rust: experiment with master & current groups

* ping/rust/src/main: Simplify import across versions

* ping/rust/src/main: Remove commented out code

* ping/rust/src/main: Clean up

* ping/rust/Dockerfile: Update crates.io index in separate step

Potentially allows caching.

* ping/rust/Dockerfile: Don't both build and install

Building the binary in release mode is enough.

* ping/rust/src/main: Clean up log lines

* ping/rust: Implement iterations with latency

* ping/rust/src/main: Extract signal and wait logic into fn

* ping/rust/Dockerfile: import caching fixes

* ping/: add cross-version composition

* ping/rust: add json payloads fix

* ping/rust: match iterations id with go

* ping/rust/Dockerfile: improve caching

* ci: introduce workflow ping-interop-rust

* ping/interop: update latest versions

* ping/_compositions: add full ping interop

* ci: resolve git reference to sha

* ping/rust/Dockerfile: drop cargo output

* ping/rust: drop version indirection

* ping/rust/Dockerfile: fix features to support caching

* ping/rust/Dockerfile: do not cache the rewritten package

* ping/_compositions/*: use concurrent_builds

* ping/_compositions/*: drop test_instances count

* ci: build composition then run

* ping: introduce InteropTarget option

* ci: fix interop target & build

* ping/_compositions/*: introduce load_resource

* ci: 10 minutes timeout for the run step

* README: add update instruction for rust & clean go

* ping/rust/Dockerfile: add protocol buffer compiler

* ping/rust/Cargo.lock: cargo update packages

* .github: increase testground timeout

Co-authored-by: Max Inden <mail@max-inden.de>
2022-08-22 12:25:07 +02:00
Laurent Senta fb5c863d88
testground: cross-version interoperability (#23)
* plan/ping: fix test & use go 1.17

* plan/ping: fix dedup path

* ping-interop: prepare base module and build script

* ping-interop/go-v0.11: introduce legacy ping test (fix original)

* ci: add interop reusable workflow

* ci: add testground endpoint config

* ping-interop: rewrite with new testground build config feature

* ping-interop: add v0.20 version

* ping-interop: fix build parameters

* ci: add ping-interop-go runner

* ci: use self hosted runner

* ping-interop: name with the current git branch

* ping-interop: use external proxy & drop build cache

* ping-interop: support dependencies changes in go master

* ping-interop: using longer timeout with regulars runners

* ping-interop: move to ping

* README: add ping/go update intructions

* ci: rename compatibility test

* ci: add support for forks

* ping: add doc

* REMOVEME: use a test setup

* ping: update libp2p versions

* ping: add security compat

* ping: smaller compat surface
2022-07-01 09:32:16 +02:00