run-rosetta-tests #16
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
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 |