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

End-to-end ICS-20 test in CI #1813

Open
Tracked by #454
avahowell opened this issue Jan 6, 2023 · 6 comments
Open
Tracked by #454

End-to-end ICS-20 test in CI #1813

avahowell opened this issue Jan 6, 2023 · 6 comments
Labels
A-CI/CD Relates to continuous integration & deployment of Penumbra _P-high High priority

Comments

@avahowell
Copy link
Contributor

Is your feature request related to a problem? Please describe.

Penumbra has an IBC implementation. IBC is a relatively complex protocol, especially when all of the interlocking pieces are used to execute an IBC application, like token transfers. We have an ibc component and IBC actions which handle incoming IBC messages and executes state transitions accordingly.

Describe the solution you'd like

We should have an end-to-end test, that runs in our CI, that fully exercises ICS20 transfers using the Penumbra IBC integration.

Additional context
An existing end-to-end test, that tests the IBC client update handling, exists here: https://github.com/penumbra-zone/penumbra/blob/main/component/src/ibc/component/client.rs#L514

@avahowell avahowell self-assigned this Jan 6, 2023
@redshiftzero redshiftzero moved this to Testnet 40: Themisto in Testnets Jan 6, 2023
@redshiftzero redshiftzero moved this from Testnet 40: Themisto to Testnet 41 in Testnets Jan 12, 2023
@zbuc zbuc moved this from Testnet 41: Callirrhoe to Future in Testnets Jan 20, 2023
@hdevalence
Copy link
Member

Should this be done as part of InterchainTest, or via our own custom network integration tests? If the latter, how do we want to spin up a second chain to talk to?

@avahowell avahowell moved this from Future to Next in Testnets Jul 13, 2023
@conorsch
Copy link
Contributor

We still want to exercise our Rust code, which interchaintest wouldn't do, so this is still interesting. Let's aim to finalize the IBC client implementation, re-run the relayer path between preview & testnet, and then revisit meaningful CI integration here.

@conorsch
Copy link
Contributor

Consider looking at something like https://starship.cosmology.tech/

@conorsch conorsch moved this from Next to Future in Testnets Jul 14, 2023
@aubrika aubrika added this to Penumbra Oct 30, 2023
@github-project-automation github-project-automation bot moved this to 🗄️ Backlog in Penumbra Oct 30, 2023
@Reecepbcups
Copy link

Reecepbcups commented Nov 14, 2023

This looks perfect for local-interchain. It allows you to write e2e with Interchaintest via the Rust driver (example repo & CI here).

This is similar to starship except we can support any language with http support (Rust, Python, and some bash is done, TS in the future). Likely will require some tweaking to support the full ictest + penumbra integration

Works for Linux, Windows, and MacOS. Prebuilt binaries found in the interchaintest/release page now

doubles as a local testnet too

@conorsch conorsch added the A-CI/CD Relates to continuous integration & deployment of Penumbra label Nov 16, 2023
@hdevalence hdevalence added the _P-high High priority label Feb 9, 2024
@conorsch
Copy link
Contributor

Marking as on hold: we're writing additional testinfra in order to be able to provide this capability.

@hdevalence hdevalence moved this from 🗄️ Backlog to Blocked in Penumbra Feb 13, 2024
@aubrika aubrika removed the on hold label Feb 13, 2024
@cratelyn
Copy link
Contributor

cratelyn commented Mar 6, 2024

related #3758.

@aubrika aubrika modified the milestone: Sprint 8 May 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-CI/CD Relates to continuous integration & deployment of Penumbra _P-high High priority
Projects
Status: Blocked
Status: Future
Development

No branches or pull requests

6 participants