From a40180c3d812b73311af03c5f57cd2bea9455fda Mon Sep 17 00:00:00 2001 From: Laurent Senta Date: Wed, 7 Sep 2022 06:10:01 +0200 Subject: [PATCH] .github/: Introduce interop tests (#2835) Adds two workflows on push & PR: * `run-ping-interop-cross-version`: runs a Testground interoperability test between multiple versions of rust-libp2p, including master, and the current branch (during a pull request) * `run-ping-interop-cross-implementation`: runs a Testground interoperability test between go-libp2p and rust-libp2p, and the current branch (during a pull request) We rely on the https://github.com/libp2p/test-plans/ repository to retrieve and run the tests. Co-authored-by: Piotr Galar --- .github/workflows/interop-test.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/interop-test.yml diff --git a/.github/workflows/interop-test.yml b/.github/workflows/interop-test.yml new file mode 100644 index 00000000000..9413cce7e95 --- /dev/null +++ b/.github/workflows/interop-test.yml @@ -0,0 +1,27 @@ +on: + pull_request: + push: + branches: + - master +name: Interoperability Testing + +jobs: + # NOTE: during a pull request run, github creates a merge commit referenced in `github.sha` + # that merge commit is not a regular commit. You won't find it with a regular `git checkout SHA` and + # tools like `go get repo@SHA` won't find it. + # + # As a workaround, we generate a path to the actual pull request's commit, it looks like: + # `github.com/external-org/go-libp2p@latest-commit-on-their-branch` + run-ping-interop-cross-version: + uses: "libp2p/test-plans/.github/workflows/run-composition.yml@master" + with: + composition_file: "ping/_compositions/rust-cross-versions.toml" + custom_git_target: github.com/${{ github.event.pull_request.head.repo.full_name || github.event.repository.full_name }} + custom_git_reference: ${{ github.event.pull_request.head.sha || github.sha }} + run-ping-interop-cross-implementation: + uses: "libp2p/test-plans/.github/workflows/run-composition.yml@master" + with: + composition_file: "ping/_compositions/go-rust-interop-latest.toml" + custom_git_target: github.com/${{ github.event.pull_request.head.repo.full_name || github.event.repository.full_name }} + custom_git_reference: ${{ github.event.pull_request.head.sha || github.sha }} + custom_interop_target: rust \ No newline at end of file