-
Notifications
You must be signed in to change notification settings - Fork 673
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
Update CI to account for multiple types of relayers #3043
Update CI to account for multiple types of relayers #3043
Conversation
@@ -5,6 +5,7 @@ | |||
"test": [ | |||
"TestClientUpdateProposal_Succeeds" | |||
], | |||
"relayer-type": ["COSMOS"], |
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 change as it currently stands will not change the number of tests that run, once a second entry is added (HERMES
) this will double the number of tests that run in each compatibility test matrix.
e.g. "relayer-type": ["COSMOS", "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.
should we call them golang
and rust
instead of cosmos
and hermes
? not super opinionated here but jw
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.
hm I agree golang could work, but I don't think rust
would be a good name, the language doesn't really matter for a relayer I feel like the explicit name is more valuable information (as you could have many relayers written in rust or golang. )
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 think my vote would be for the binary name in lowercase. E.g. hermes
or rly
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.
yeah I'm happy with hermes/rly
relayer-type: | ||
default: COSMOS | ||
description: 'The relayer to use' | ||
required: true | ||
type: choice | ||
options: | ||
- COSMOS | ||
- 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.
adds a drop down when running a single test.
RELAYER_TAG: "${{ inputs.relayer-tag }}" | ||
RELAYER_TYPE: "${{ inputs.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.
this is the workflow that gets imported in other workflows
e2e/relayer/relayer.go
Outdated
func newHermesRelayer() ibc.Relayer { | ||
panic("hermes relayer not yet implemented for ibctest") | ||
} |
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.
place holder function to flesh out once the hermes implementation exists.
e2e/relayer/relayer.go
Outdated
func newCosmosRelayer(t *testing.T, tag string, logger *zap.Logger, dockerClient *dockerclient.Client, network string) ibc.Relayer { | ||
customImageOption := relayer.CustomDockerImage(cosmosRelayerRepository, tag, cosmosRelayerUser) | ||
relayerProcessingOption := relayer.StartupFlags("-p", "events") // relayer processes via events | ||
|
||
relayerFactory := ibctest.NewBuiltinRelayerFactory(ibc.CosmosRly, logger, customImageOption, relayerProcessingOption) | ||
|
||
return relayerFactory.Build( | ||
t, dockerClient, network, | ||
) | ||
} |
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 function we already had and was just moved.
e2e/testconfig/testconfig.go
Outdated
if rlyTag == "" { | ||
if relayerType == relayer.Cosmos { | ||
rlyTag = defaultCosmosRelayerTag | ||
} | ||
if relayerType == relayer.Hermes { | ||
// TODO: set default hermes version | ||
} | ||
} |
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 one env var has to have 2 different defaults depending on the relayer type. If additional relayers are added, this could be moved to a map, with just two I decided to keep it simple.
…g-multiple-relayers-in-our-e2e
…relayers-in-our-e2e' of https://github.com/cosmos/ibc-go into cian/issue#3041-add-wiring-to-support-running-multiple-relayers-in-our-e2e
…g-multiple-relayers-in-our-e2e
…g-multiple-relayers-in-our-e2e
…g-multiple-relayers-in-our-e2e
…g-multiple-relayers-in-our-e2e
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #3043 +/- ##
=======================================
Coverage 78.53% 78.54%
=======================================
Files 179 179
Lines 12436 12440 +4
=======================================
+ Hits 9767 9771 +4
Misses 2243 2243
Partials 426 426
|
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.
Thank you, @chatton. Looking forward to running the tests with hermes as well. :)
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.
LGTM! Thanks @chatton!
…g-multiple-relayers-in-our-e2e
Description
closes: #3041
Commit Message / Changelog Entry
N/A
see the guidelines for commit messages. (view raw markdown for examples)
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
docs/
) or specification (x/<module>/spec/
).godoc
comments.Files changed
in the Github PR explorer.Codecov Report
in the comment section below once CI passes.