Skip to content

run-rosetta-tests

run-rosetta-tests #18

Workflow file for this run

name: Run Tests Against Local Kava Network
# There are 2 triggers for this workflow:
# - workflow was triggered by repository_dispatch event which was sent by kava repo, in that case tests will be run against
# specified version of kava (github.event.client_payload.ref) and default branch of rosetta
# - workflow was triggered by commit in rosetta-kava repo, in that case tests will be run against
# default branch of kava and specified version of rosetta (github.ref)
on:
# repository_dispatch event will be sent by kava on every kava commit to master
repository_dispatch:
types: [ run-rosetta-tests ]
# run CI on any push to the master branch
push:
branches: [ master ]
# run CI on pull requests to master
pull_request:
branches:
- master
jobs:
setup-and-run-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout rosetta-kava
uses: actions/checkout@v4
with:
path: rosetta-kava
# TODO(yevhenii): consider reusing already built kava docker image instead of rebuilding it
- name: Checkout kava
uses: actions/checkout@v4
with:
repository: Kava-Labs/kava
# There are 2 cases here:
# - workflow was triggered by repository_dispatch event which was sent by kava repo, in that case we're using
# kava version provided in event: github.event.client_payload.ref
# - workflow was triggered by commit in rosetta-kava repo, in that case github.event.client_payload.ref will be empty
# and default branch will be used instead
ref: ${{ github.event.client_payload.ref }}
path: kava
- name: Print rosetta version
run: |
git branch
git rev-parse HEAD
working-directory: ./rosetta-kava
- name: Print kava version
run: |
git branch
git rev-parse HEAD
working-directory: ./kava
- name: Checkout kvtool
uses: actions/checkout@v4
with:
repository: Kava-Labs/kvtool
path: kvtool
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: rosetta-kava/go.mod
- name: Cache Go Modules
uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('./rosetta-kava/**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Build kava docker image
run: make docker-build
working-directory: ./kava
- name: Install kvtool
run: make install
working-directory: ./kvtool
- name: Run kava docker container
run: KAVA_TAG=local kvtool t bootstrap
- name: Wait until kava node is ready to serve traffic
run: bash ${GITHUB_WORKSPACE}/rosetta-kava/.github/scripts/wait-for-node-init.sh
- name: Run integration tests
run: KAVA_RPC_URL=http://localhost:26657 NETWORK=kava-local PORT=4000 SKIP_LIVE_NODE_TESTS=true make test-integration
working-directory: ./rosetta-kava
- name: Download coinbase rosetta-cli
run: "curl -sSfL https://raw.githubusercontent.com/coinbase/rosetta-cli/master/scripts/install.sh | sh -s"
working-directory: ./rosetta-kava
- name: Start rosetta server
run: .github/scripts/kava-localnet-ci/setup.sh
shell: bash
working-directory: ./rosetta-kava
- name: Run check:construction test
run: .github/scripts/kava-localnet-ci/construction.sh
shell: bash
working-directory: ./rosetta-kava
- name: Run check:data test
run: .github/scripts/kava-localnet-ci/cli.sh
shell: bash
working-directory: ./rosetta-kava