Skip to content

Support other repos using the multidim interop tests#99

Merged
MarcoPolo merged 2 commits intomasterfrom
marco/wo-testground-opts
Jan 13, 2023
Merged

Support other repos using the multidim interop tests#99
MarcoPolo merged 2 commits intomasterfrom
marco/wo-testground-opts

Conversation

@MarcoPolo
Copy link
Copy Markdown
Contributor

@MarcoPolo MarcoPolo commented Jan 10, 2023

Features:

  • Filter tests with a flag
  • Load container image from runtime param.
  • Add extra versions with a runtime parameter. This allows other repos to define their "head" version to test against.
  • Add emit only option, which always users to emit the compose spec that they can then manually run.

How to use this with other repos:

  1. In a job, build a container image. Example
  2. Upload the container image as an artifact (this is the only way to pass data between jobs in GH Actions). Example
  3. Run this workflow from the other repo as another job that depends on (i.e. needs) the previous job. And pass in the proper input parameters. Example

Example run that tests across versions and impl for go-libp2p-head: https://github.com/libp2p/go-libp2p/actions/runs/3894748269

@MarcoPolo MarcoPolo force-pushed the marco/wo-testground-opts branch from 833f651 to a644753 Compare January 11, 2023 17:04
@MarcoPolo MarcoPolo marked this pull request as ready for review January 11, 2023 18:40
@MarcoPolo
Copy link
Copy Markdown
Contributor Author

tagging either @mxinden or @marten-seemann for review please :)

@@ -1,82 +0,0 @@
name: start testground
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@mxinden
Copy link
Copy Markdown
Member

mxinden commented Jan 12, 2023

Add emit only option, which always users to emit the compose spec that they can then manually run.

🚀

Copy link
Copy Markdown
Member

@mxinden mxinden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Steps and code looks good to me. That said, I am not a GitHub action expert. I would assume Laurent and Piotr would be better as reviewers.

@jxs would you mind doing the changes of libp2p/go-libp2p#1991 for rust-libp2p?

@MarcoPolo I don't have an opinion on whether to block on libp2p/go-libp2p#1991 in rust-libp2p, or merge early here.

Great to see this happening. Thanks @MarcoPolo.

@MarcoPolo
Copy link
Copy Markdown
Contributor Author

@galargh do you mind reviewing the GitHub workflow here?

Copy link
Copy Markdown
Member

@galargh galargh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed .github/workflows/run-testplans.yml only. One note on download-artifact usage. Otherwise, looks good.

Comment on lines +45 to +54
- uses: actions/download-artifact@v3
if: ${{ inputs.extra-versions != '' }}
with:
name: ${{ inputs.extra-versions }}
path: /tmp/extra-versions
- uses: actions/download-artifact@v3
if: ${{ inputs.image-tar != '' }}
with:
name: ${{ inputs.image-tar }}
path: /tmp/images/
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just an FYI, these can only download artifacts from the same workflow run.

If you want to share artifacts between builds, you could use gh run download from GH CLI. We use it in GitHub Management for example, https://github.com/protocol/github-mgmt-template/blob/master/.github/workflows/apply.yml#L93-L97 (here, we get the most recent artifact with a given name that was uploaded by one of the repos workflows).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool tip! Not needed for this PR, but I can imagine it being useful in other cases. I guess you have to keep in mind the 90 day limit of artifacts.

@MarcoPolo MarcoPolo merged commit 23ff0db into master Jan 13, 2023
@MarcoPolo MarcoPolo deleted the marco/wo-testground-opts branch January 13, 2023 18:24
@thomaseizinger
Copy link
Copy Markdown
Contributor

@jxs would you mind doing the changes of libp2p/go-libp2p#1991 for rust-libp2p?

@MarcoPolo I don't have an opinion on whether to block on libp2p/go-libp2p#1991 in rust-libp2p, or merge early here.

Currently, we can't merge any PRs until this is fixed. See for example: libp2p/rust-libp2p#3324

mxinden pushed a commit to libp2p/github-mgmt that referenced this pull request Jan 16, 2023
Update required rust-libp2p workflows to remove the stale interoperability tests. Addresses libp2p/test-plans#99 (comment)
mergify bot pushed a commit to libp2p/rust-libp2p that referenced this pull request Jan 19, 2023
codemaestro64 pushed a commit to codemaestro64/test-plans that referenced this pull request Oct 28, 2025
* Support running interop workflow from other repos

* A bit of shuffling and cleanup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants