You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To make it as easy as possible for chains to perform upgrade tests, we should provide a github action which can be easily imported and used from any Github Workflow.
Proposal
Create a workflow_call type workflow in ibc-go.
In order to create a re-usable workflow, we can use a workflow_call. This special type of workflow is essentially importable into any github action. See this example of how to define one.
In order to use a workflow_call, this syntax can be used.
Note: the inputs defined are specified under the with object from the calling workflow.
Workflows can be called from other repos with this syntax (taken from the github docs)
These values will be required when an arbitrary chain is being used.
The e2e tests look for these env vars when running tests.
In terms of our exported workflow, we could do in in a few different ways. We could have the workflow run a single test (i.e. not use a strategy.matrix ) or we could use a matrix to run all of the tests.
I would lean slightly in favour of not using a matrix as this gives more flexibility to the caller to run only the tests that are relevant to them.
The text was updated successfully, but these errors were encountered:
We can't make any assertions on application specific post upgrade logic, so we can limit the upgrade test to core ibc functionality (we can do transfers before and after the upgrade) .
The current test TestV4ToV5ChainUpgrade looks like it almost already does exactly this. We can rename this to something generic like TestIBCUpgrade.
We need to make the upgrade plan an argument, currently it is set to normal upgrade. This can be done with an env var in a workflow.
We should be able to re-use the existing workflow call and just provide examples of how to call this specific test rather than a new workflow.
In addition to a basic ibc upgrade test, we should also add a single chain upgrade to test migrations as a bare minimum. This can always be expanded upon afterwards.
Summary
To make it as easy as possible for chains to perform upgrade tests, we should provide a github action which can be easily imported and used from any Github Workflow.
Proposal
Create a
workflow_call
type workflow inibc-go
.In order to create a re-usable workflow, we can use a
workflow_call
. This special type of workflow is essentially importable into any github action. See this example of how to define one.In order to use a
workflow_call
, this syntax can be used.Note: the
inputs
defined are specified under thewith
object from the calling workflow.Workflows can be called from other repos with this syntax (taken from the github docs)
In order for the workflow to actually trigger an upgrade test, we will need to do the following
We currently do this here
These values will be required when an arbitrary chain is being used.
The e2e tests look for these env vars when running tests.
In terms of our exported workflow, we could do in in a few different ways. We could have the workflow run a single test (i.e. not use a
strategy.matrix
) or we could use a matrix to run all of the tests.I would lean slightly in favour of not using a matrix as this gives more flexibility to the caller to run only the tests that are relevant to them.
The text was updated successfully, but these errors were encountered: