Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support other repos using the multidim interop tests #99

Merged
merged 2 commits into from
Jan 13, 2023

Conversation

MarcoPolo
Copy link
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 marked this pull request as ready for review January 11, 2023 18:40
@MarcoPolo
Copy link
Contributor Author

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

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

Choose a reason for hiding this comment

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

🎉

.github/workflows/run-testplans.yml Show resolved Hide resolved
@mxinden
Copy link
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
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
Contributor Author

@galargh do you mind reviewing the GitHub workflow here?

Copy link
Contributor

@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
Contributor

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
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
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
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