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

ci: multichain-testing with go-relayer #10182

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft

Conversation

0xpatrickdev
Copy link
Member

@0xpatrickdev 0xpatrickdev commented Oct 2, 2024

closes: #10179

Description

  • Enable starship faucet for agoric (required for go-relayer)
  • Add starship config that uses go-relayer (config.gorelayer.yaml)
  • update channel-close tests to use go-relayer when RELAYER_TYPE env var is present
  • Convert multichain-e2e workflow to a template and run hermes and go-relayer jobs in parallel

Security Considerations

n/a, test code

Scaling Considerations

For CI, this uses more resources. We have an additional ubuntu-latest-16core running and another ~30 min job (running in parallel).

Documentation Considerations

Added a section in the README.md with instructions for running the tests with go-relayer.

Testing Considerations

Runs existing test suite against go-relayer, increasing our test coverage across differing infrastructure. Should help identify any relayer-specific issues or discrepancies.

Upgrade Considerations

n/a

@0xpatrickdev 0xpatrickdev added the force:integration Force integration tests to run on PR label Oct 2, 2024
Copy link

cloudflare-workers-and-pages bot commented Oct 2, 2024

Deploying agoric-sdk with  Cloudflare Pages  Cloudflare Pages

Latest commit: a0c73e0
Status: ✅  Deploy successful!
Preview URL: https://5388cbc4.agoric-sdk.pages.dev
Branch Preview URL: https://10179-go-relayer.agoric-sdk.pages.dev

View logs

@0xpatrickdev 0xpatrickdev force-pushed the 10179-go-relayer branch 9 times, most recently from cd1daba to 2d38529 Compare October 3, 2024 18:45
@0xpatrickdev 0xpatrickdev marked this pull request as ready for review October 3, 2024 19:38
@0xpatrickdev 0xpatrickdev requested a review from a team as a code owner October 3, 2024 19:38
@0xpatrickdev 0xpatrickdev added force:integration Force integration tests to run on PR and removed force:integration Force integration tests to run on PR labels Oct 3, 2024
@0xpatrickdev 0xpatrickdev requested review from turadg and LuqiPan October 3, 2024 22:34
Copy link
Member

@turadg turadg left a comment

Choose a reason for hiding this comment

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

Good stuff!


- name: Setup Starship Infrastructure
id: starship-infra
uses: cosmology-tech/[email protected]
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member Author

@0xpatrickdev 0xpatrickdev Oct 4, 2024

Choose a reason for hiding this comment

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

Good question. I bumped to 0.5.3 here and will see what CI thinks: #10216

It looks the ability to specify a helm chart version may have been lost starting 0.5.4 (the latest is 0.5.7). I filed an cosmology-tech/starship-action#34 asking for clarification.

We can also bump the helm chart version. We're on 0.2.10 but it's up to 0.2.14. I ran into issues with the new readinessProbe - it seem the approach we provided is not working on my local. I filed cosmology-tech/starship#563 to track this

Copy link
Member

Choose a reason for hiding this comment

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

563 was merged last week. Let's see if we can get an answer on 34 soon enough to incorporate it


- name: Setup Starship Infrastructure
id: starship-infra
uses: cosmology-tech/[email protected]
Copy link
Member

Choose a reason for hiding this comment

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

.github/workflows/multichain-e2e.yml Outdated Show resolved Hide resolved
multichain-testing/package.json Show resolved Hide resolved
@0xpatrickdev
Copy link
Member Author

Hesitant to merge until we see this go through CI multiple times successfully.

I was under the impression each run is fully containerized, but am seeing weird behavior which leads me to believe these are stepping on each other's toes. Both jobs read from and write to the agoric-sdk/multichain-testing filesystem and access the same ports over the network.

Any folks with more gh-action-fu have more insights?

Copy link
Member

@turadg turadg left a comment

Choose a reason for hiding this comment

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

I'll approve when the work-arounds for upstream issues are gone, or there's a conspicuous plan for addressing them.

with:
# uses ghcr.io/agoric/agoric-sdk:dev image (latest master)
values: ./agoric-sdk/multichain-testing/${{ inputs.config }}
port-forward: false
Copy link
Member

Choose a reason for hiding this comment

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

I see in the commit this is just until cosmology-tech/starship#561 is available.

That's helpful but even more important is for the source to say so, to anyone browsing who could then simplify this code.

Incidentally, isn't your PR available now in a starship release?


- name: Setup Starship Infrastructure
id: starship-infra
uses: cosmology-tech/[email protected]
Copy link
Member

Choose a reason for hiding this comment

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

563 was merged last week. Let's see if we can get an answer on 34 soon enough to incorporate it

@@ -90,6 +90,15 @@ kubectl logs hermes-agoric-gaia-0 --container=relayer --follow
kubectl logs hermes-osmosis-gaia-0 --container=relayer --follow
```

## Running With a Different Config File
Copy link
Member

Choose a reason for hiding this comment

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

Capital With jarred me but I don't suppose Agoric has an agreed upon Title Case. 😂

@0xpatrickdev 0xpatrickdev force-pushed the 10179-go-relayer branch 3 times, most recently from f0827ce to 11015a0 Compare October 16, 2024 19:09
@0xpatrickdev 0xpatrickdev marked this pull request as draft October 16, 2024 19:16
@0xpatrickdev 0xpatrickdev force-pushed the 10179-go-relayer branch 4 times, most recently from fa4b501 to 4414f4c Compare October 17, 2024 00:26
@0xpatrickdev 0xpatrickdev force-pushed the 10179-go-relayer branch 5 times, most recently from a486634 to 0cae9dd Compare October 17, 2024 22:35
@0xpatrickdev 0xpatrickdev force-pushed the 10179-go-relayer branch 4 times, most recently from 1780dad to 94f55f1 Compare October 18, 2024 00:07
- currently, tests were only run using the hermes relayer. now, we test both hermes and go-relayer in CI
- fixes TypeError due to missing `/cosmos.bank.v1beta1.QueryAllBalancesRequest` key  on `Proto3Shape`
- factor out to commonSetup
- deleteTestKeys only removes keys present in keyring
@0xpatrickdev 0xpatrickdev force-pushed the 10179-go-relayer branch 2 times, most recently from 522fc15 to c98b29a Compare October 18, 2024 00:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
force:integration Force integration tests to run on PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Multichain Testing - support go-relayer
2 participants