-
Notifications
You must be signed in to change notification settings - Fork 217
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
base: master
Are you sure you want to change the base?
Conversation
Deploying agoric-sdk with Cloudflare Pages
|
cd1daba
to
2d38529
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good stuff!
2d38529
to
a0ae81b
Compare
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 Any folks with more gh-action-fu have more insights? Edit: Bad hunch - everything is isolated in GitHub action runs, even without service containers. I was mainly thrown off by an opaque error in a |
There was a problem hiding this 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.
f0827ce
to
11015a0
Compare
fa4b501
to
4414f4c
Compare
82709be
to
a0c73e0
Compare
a0c73e0
to
d87eda1
Compare
- to match ChainName conventions used in `@cosmos/chain-registry`
d87eda1
to
e7559db
Compare
- adds dispatch jobs to test orchestration-api and fusdc test suites against go-relayer
e7559db
to
3f0038f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like GH has an outage, but this is R4R. I amended this comment with some details. I think the current approach renders a majority of the current feedback no longer relevant - lmk if that's not the case or you need me to jog your memory on anything @turadg.
name: Multichain E2E (Orchestration API - Hermes) | ||
if: | | ||
github.event_name == 'workflow_call' || | ||
(github.event_name == 'workflow_dispatch' && inputs.test_type == 'orchestration-api-hermes') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please update the job names to match the test_type
selector.
test_command: test:fast-usdc | ||
test_command: yarn test:fast-usdc | ||
|
||
# Below jobs run on dispatch only |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this kind of comment might be missed when someone changes whether it's true.
please comment on each job's if
with when it runs
@@ -23,6 +23,8 @@ import type { CurrentWalletRecord } from '@agoric/smart-wallet/src/smartWallet.j | |||
import type { QueryBalanceResponseSDKType } from '@agoric/cosmic-proto/cosmos/bank/v1beta1/query.js'; | |||
import type { USDCProposalShapes } from '@agoric/fast-usdc/src/pool-share-math.js'; | |||
|
|||
const RELAYER_TYPE = process.env.RELAYER_TYPE; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to make clear the name is unchanged,
const RELAYER_TYPE = process.env.RELAYER_TYPE; | |
const { RELAYER_TYPE } = process.env; |
t.log(e); // hermes relayer throws, but go-relayer does not | ||
} | ||
t.log('Sleeping 10 seconds for potential channel closure to propagate'); | ||
await sleep(10000); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how was 10s determined? please make it more legible:
await sleep(10000); | |
await sleep(10 * 1000); |
@@ -41,3 +41,8 @@ export const MAKE_ACCOUNT_AND_QUERY_BALANCE_TIMEOUT: RetryOptions = { | |||
retryIntervalMs: 5000, | |||
maxRetries: 24, | |||
}; | |||
|
|||
export const TWO_MINUTES: RetryOptions = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please give this a semantic name. It's baking in more assumptions than two minutes
@@ -70,7 +70,11 @@ const makeKeyring = async ( | |||
|
|||
export const commonSetup = async ( | |||
t: ExecutionContext, | |||
{ config = '../config.yaml' } = {}, | |||
{ | |||
env = process.env, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why propagate the whole env? if someone wants to override relayerType
they don't have to mess with env at all
t.deepEqual(balance, { denom: bondDenom, amount: '10000000000' }); | ||
const walletScenario = test.macro({ | ||
title: (_, chainName: string) => | ||
`create a wallet and get tokens on ${chainName}`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
worth it!
closes: #10179
Description
Ensures compatibility with go-relayer by adding workflow dispatch jobs to
multichain-e2e
for Orchestration API (config.go-relayer.yaml
) and FastUSDC (config.fusdc.go-relayer.yaml
). Our existing tests using hermes. Scope is mainly for the Orchestration API, butx/vibc
is also covered to an extent.Towards this goal:
go-relayer
)go-relayer
whenRELAYER_TYPE
env var is presentSecurity Considerations
n/a, test code
Scaling Considerations
Not currently part of integration tests that run on merges to master.
Documentation Considerations
Added a section in the
README.md
with instructions for running the tests withgo-relayer
.Testing Considerations
Runs existing test suite against
go-relayer
, extending our test coverage across to the two maincosmos-sdk
relayer clients. This should help identify any relayer-specific issues or discrepancies. Please note: these tests will not run on every PR and must be dispatched manually.Upgrade Considerations
n/a