-
Notifications
You must be signed in to change notification settings - Fork 214
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
0xpatrickdev
wants to merge
10
commits into
master
Choose a base branch
from
10179-go-relayer
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
42cec1d
feat: enable faucet on agoric
0xpatrickdev c7bdd13
refactor: generic relayer tools
0xpatrickdev a2c01af
ci: test against go-relayer
0xpatrickdev bfd85ec
feat: support go-relayer `rly` commands
0xpatrickdev 9424145
chore: bump global retry attempts
0xpatrickdev 1da1448
chore: bump deps
0xpatrickdev 7da3419
test: log stderr if exec fails
0xpatrickdev 1aa6978
refactor: keyring setup
0xpatrickdev c98b29a
refactor: use useChain from test context
0xpatrickdev a0c73e0
feat: add retry logic to fund-provision-pool
0xpatrickdev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
name: Multichain E2E Workflow Template | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
config: | ||
required: true | ||
type: string | ||
relayer-type: | ||
required: true | ||
type: string | ||
|
||
jobs: | ||
multichain-e2e: | ||
runs-on: ubuntu-latest-16core | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: 'true' | ||
path: ./agoric-sdk | ||
- uses: ./agoric-sdk/.github/actions/restore-node | ||
with: | ||
node-version: 18.x | ||
path: ./agoric-sdk | ||
|
||
- name: yarn link | ||
run: | | ||
yarn link-cli ~/bin/agoric | ||
echo "/home/runner/bin" >> $GITHUB_PATH | ||
working-directory: ./agoric-sdk | ||
|
||
- name: Enable Corepack | ||
run: corepack enable | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Install @agoric/multichain-testing deps | ||
run: yarn install | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Lint @agoric/multichain-testing | ||
run: yarn lint | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Setup Starship Infrastructure | ||
id: starship-infra | ||
uses: cosmology-tech/[email protected] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why not latest? https://github.com/cosmology-tech/starship-action/releases |
||
with: | ||
# uses ghcr.io/agoric/agoric-sdk:dev image (latest master) | ||
values: ./agoric-sdk/multichain-testing/${{ inputs.config }} | ||
port-forward: true | ||
version: 0.2.10 | ||
timeout: 30m | ||
namespace: agoric-multichain-${{ inputs.relayer-type }} | ||
|
||
- name: Fund Provision Pool | ||
run: | | ||
kubectl config set-context --current --namespace=agoric-multichain-${{ inputs.relayer-type }} | ||
kubectl get pods | ||
make fund-provision-pool | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Ensure ports are forwarded | ||
run: | | ||
curl --fail --retry 3 --retry-delay 10 http://localhost:26657/status || (echo "agoriclocal node is available") | ||
curl --fail --retry 3 --retry-delay 10 http://localhost:8081/chains/agoriclocal || (echo "agoriclocal URL check failed") | ||
curl --fail --retry 3 --retry-delay 10 http://localhost:8081/chains/osmosislocal || (echo "osmosislocal URL check failed") | ||
curl --fail --retry 3 --retry-delay 10 http://localhost:8081/chains/gaialocal || (echo "gaialocal URL check failed") | ||
|
||
- name: Override Chain Registry | ||
run: make override-chain-registry | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Run @agoric/multichain-testing E2E Tests | ||
run: yarn test | ||
working-directory: ./agoric-sdk/multichain-testing | ||
env: | ||
FILE: ${{ inputs.config }} | ||
RELAYER_TYPE: ${{ inputs.relayer-type }} | ||
|
||
- name: Capture and print agoric validator logs | ||
if: always() | ||
run: kubectl logs agoriclocal-genesis-0 --container=validator || true | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Capture and print agoric-osmosis relayer logs | ||
if: always() | ||
run: kubectl logs ${{ inputs.relayer-type }}-agoric-osmosis-0 --container=relayer || true | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Capture and print agoric-cosmos relayer logs | ||
if: always() | ||
run: kubectl logs ${{ inputs.relayer-type }}-agoric-gaia-0 --container=relayer || true | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Capture and print osmosis-cosmos relayer logs | ||
if: always() | ||
run: kubectl logs ${{ inputs.relayer-type }}-osmosis-gaia-0 --container=relayer || true | ||
working-directory: ./agoric-sdk/multichain-testing |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,81 +5,16 @@ on: | |
workflow_call: | ||
|
||
jobs: | ||
multichain-e2e: | ||
runs-on: ubuntu-latest-16core | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: 'true' | ||
path: ./agoric-sdk | ||
- uses: ./agoric-sdk/.github/actions/restore-node | ||
with: | ||
node-version: 18.x | ||
path: ./agoric-sdk | ||
|
||
- name: yarn link | ||
run: | | ||
yarn link-cli ~/bin/agoric | ||
echo "/home/runner/bin" >> $GITHUB_PATH | ||
working-directory: ./agoric-sdk | ||
|
||
- name: Enable Corepack | ||
run: corepack enable | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Install @agoric/multichain-testing deps | ||
run: yarn install | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Lint @agoric/multichain-testing | ||
run: yarn lint | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Setup Starship Infrastructure | ||
id: starship-infra | ||
uses: cosmology-tech/[email protected] | ||
with: | ||
# uses ghcr.io/agoric/agoric-sdk:dev image (latest master) | ||
values: ./agoric-sdk/multichain-testing/config.yaml | ||
port-forward: true | ||
version: 0.2.10 | ||
timeout: 30m | ||
namespace: agoric-multichain | ||
|
||
- name: Fund Provision Pool | ||
run: | | ||
kubectl config set-context --current --namespace=agoric-multichain | ||
kubectl get pods | ||
make fund-provision-pool | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Ensure ports are forwarded | ||
run: | | ||
curl --fail --retry 3 --retry-delay 10 http://localhost:26657/status || (echo "agoriclocal node is available") | ||
curl --fail --retry 3 --retry-delay 10 http://localhost:8081/chains/agoriclocal || (echo "agoriclocal URL check failed") | ||
curl --fail --retry 3 --retry-delay 10 http://localhost:8081/chains/osmosislocal || (echo "osmosislocal URL check failed") | ||
curl --fail --retry 3 --retry-delay 10 http://localhost:8081/chains/gaialocal || (echo "gaialocal URL check failed") | ||
|
||
- name: Override Chain Registry | ||
run: make override-chain-registry | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Run @agoric/multichain-testing E2E Tests | ||
run: yarn test | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Capture and print agoric validator logs | ||
if: always() | ||
run: kubectl logs agoriclocal-genesis-0 --container=validator || true | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Capture and print agoric-osmosis relayer logs | ||
if: always() | ||
run: kubectl logs hermes-agoric-osmosis-0 --container=relayer || true | ||
working-directory: ./agoric-sdk/multichain-testing | ||
|
||
- name: Capture and print agoric-cosmos relayer logs | ||
if: always() | ||
run: kubectl logs hermes-agoric-gaia-0 --container=relayer || true | ||
working-directory: ./agoric-sdk/multichain-testing | ||
hermes-test: | ||
name: Multichain E2E (hermes) | ||
uses: ./.github/workflows/multichain-e2e-template.yml | ||
with: | ||
config: config.yaml | ||
relayer-type: hermes | ||
|
||
go-relayer-test: | ||
name: Multichain E2E (go-relayer) | ||
uses: ./.github/workflows/multichain-e2e-template.yml | ||
with: | ||
config: config.gorelayer.yaml | ||
relayer-type: go-relayer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
# mirrors config.yaml, except s/hermes/go-relayer | ||
|
||
chains: | ||
- id: agoriclocal | ||
name: agoric | ||
image: ghcr.io/agoric/agoric-sdk:dev | ||
numValidators: 1 | ||
env: | ||
- name: DEBUG | ||
value: SwingSet:vat,SwingSet:ls | ||
genesis: | ||
app_state: | ||
staking: | ||
params: | ||
unbonding_time: '2m' | ||
swingset: | ||
params: | ||
bootstrap_vat_config: '@agoric/vm-config/decentral-itest-orchestration-config.json' | ||
scripts: | ||
updateConfig: | ||
file: scripts/update-config.sh | ||
faucet: | ||
enabled: true | ||
type: starship | ||
ports: | ||
rest: 1317 | ||
rpc: 26657 | ||
exposer: 38087 | ||
grpc: 9090 | ||
faucet: 8082 | ||
resources: | ||
cpu: 1 | ||
memory: 4Gi | ||
- id: osmosislocal | ||
name: osmosis | ||
numValidators: 1 | ||
genesis: | ||
app_state: | ||
staking: | ||
params: | ||
unbonding_time: '2m' | ||
interchain_accounts: | ||
host_genesis_state: | ||
params: | ||
host_enabled: true | ||
allow_messages: ['*'] | ||
interchainquery: | ||
host_port: 'icqhost' | ||
params: | ||
host_enabled: true | ||
allow_queries: | ||
- /cosmos.bank.v1beta1.Query/Balance | ||
- /cosmos.bank.v1beta1.Query/AllBalances | ||
faucet: | ||
enabled: true | ||
type: starship | ||
ports: | ||
rest: 1315 | ||
rpc: 26655 | ||
grpc: 9093 | ||
faucet: 8084 | ||
resources: | ||
cpu: 1 | ||
memory: 1Gi | ||
- id: gaialocal | ||
name: cosmoshub | ||
numValidators: 1 | ||
genesis: | ||
app_state: | ||
staking: | ||
params: | ||
unbonding_time: '2m' | ||
interchain_accounts: | ||
host_genesis_state: | ||
params: | ||
host_enabled: true | ||
allow_messages: ['*'] | ||
faucet: | ||
enabled: true | ||
type: starship | ||
ports: | ||
rest: 1314 | ||
rpc: 26654 | ||
grpc: 9092 | ||
faucet: 8083 | ||
resources: | ||
cpu: 1 | ||
memory: 1Gi | ||
|
||
relayers: | ||
- name: osmosis-gaia | ||
type: go-relayer | ||
replicas: 1 | ||
chains: | ||
- osmosislocal | ||
- gaialocal | ||
- name: agoric-osmosis | ||
type: go-relayer | ||
replicas: 1 | ||
chains: | ||
- agoriclocal | ||
- osmosislocal | ||
- name: agoric-gaia | ||
type: go-relayer | ||
replicas: 1 | ||
chains: | ||
- agoriclocal | ||
- gaialocal | ||
|
||
explorer: | ||
enabled: false | ||
|
||
registry: | ||
enabled: true | ||
ports: | ||
rest: 8081 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,7 +17,7 @@ | |
}, | ||
"packageManager": "[email protected]", | ||
"devDependencies": { | ||
"@agoric/cosmic-proto": "0.4.1-dev-08f8549.0", | ||
"@agoric/cosmic-proto": "0.4.1-dev-5b3e4d0.0", | ||
turadg marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"@cosmjs/crypto": "^0.32.4", | ||
"@cosmjs/proto-signing": "^0.32.4", | ||
"@cosmjs/stargate": "^0.32.4", | ||
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 not latest? https://github.com/cosmology-tech/starship-action/releases
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 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 thisThere 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.
563 was merged last week. Let's see if we can get an answer on 34 soon enough to incorporate it