feat: Support for importing unarmored key (secp256k1 algo only atm) #316
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: Tests / Code Coverage | |
# Tests / Code Coverage workflow runs unit tests and uploads a code coverage report | |
# This workflow is run on pushes to main & every Pull Requests where a .go, .mod, .sum have been changed | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
install-tparse: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v2.1.3 | |
with: | |
go-version: 1.18.10 | |
- name: Display go version | |
run: go version | |
- name: install tparse | |
run: | | |
go install github.com/mfridman/tparse@v0.8.3 | |
- uses: actions/cache@v2.1.6 | |
with: | |
path: ~/go/bin | |
key: ${{ runner.os }}-go-tparse-binary | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# dropped arm because of bls | |
go-arch: ["amd64"] #, "arm", "arm64"] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-go@v2.1.3 | |
with: | |
go-version: 1.18.10 | |
- uses: technote-space/get-diff-action@v4 | |
id: git_diff | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: Build | |
run: GOARCH=${{ matrix.go-arch }} LEDGER_ENABLED=false make build | |
# It download some data from cosmos/cosmos-sdk repository | |
# which can't work on our modified version | |
# | |
# test-cosmovisor: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: actions/setup-go@v2.1.3 | |
# with: | |
# go-version: 1.18.10 | |
# - name: Display go version | |
# run: go version | |
# - uses: technote-space/get-diff-action@v4 | |
# id: git_diff | |
# with: | |
# PREFIX_FILTER: | | |
# cosmovisor | |
# PATTERNS: | | |
# **/**.go | |
# go.mod | |
# go.sum | |
# - name: Run cosmovisor tests | |
# run: cd cosmovisor; make | |
# if: env.GIT_DIFF | |
split-test-files: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Create a file with all the pkgs | |
run: go list ./... > pkgs.txt | |
- name: Split pkgs into 4 files | |
run: split -d -n l/4 pkgs.txt pkgs.txt.part. | |
# cache multiple | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: "${{ github.sha }}-00" | |
path: ./pkgs.txt.part.00 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: "${{ github.sha }}-01" | |
path: ./pkgs.txt.part.01 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: "${{ github.sha }}-02" | |
path: ./pkgs.txt.part.02 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: "${{ github.sha }}-03" | |
path: ./pkgs.txt.part.03 | |
tests: | |
runs-on: ubuntu-latest | |
needs: split-test-files | |
strategy: | |
fail-fast: false | |
matrix: | |
part: ["00", "01", "02", "03"] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-go@v2.1.3 | |
with: | |
go-version: 1.18.10 | |
- uses: technote-space/get-diff-action@v4 | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- uses: actions/download-artifact@v2 | |
with: | |
name: "${{ github.sha }}-${{ matrix.part }}" | |
if: env.GIT_DIFF | |
- name: test & coverage report creation | |
run: | | |
cat pkgs.txt.part.${{ matrix.part }} | xargs go test -mod=readonly -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='norace ledger test_ledger_mock' | |
if: env.GIT_DIFF | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: "${{ github.sha }}-${{ matrix.part }}-coverage" | |
path: ./${{ matrix.part }}profile.out | |
upload-coverage-report: | |
runs-on: ubuntu-latest | |
needs: tests | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: technote-space/get-diff-action@v4 | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- uses: actions/download-artifact@v2 | |
with: | |
name: "${{ github.sha }}-00-coverage" | |
if: env.GIT_DIFF | |
- uses: actions/download-artifact@v2 | |
with: | |
name: "${{ github.sha }}-01-coverage" | |
if: env.GIT_DIFF | |
- uses: actions/download-artifact@v2 | |
with: | |
name: "${{ github.sha }}-02-coverage" | |
if: env.GIT_DIFF | |
- uses: actions/download-artifact@v2 | |
with: | |
name: "${{ github.sha }}-03-coverage" | |
if: env.GIT_DIFF | |
- run: | | |
cat ./*profile.out | grep -v "mode: atomic" >> coverage.txt | |
if: env.GIT_DIFF | |
- name: filter out DONTCOVER | |
run: | | |
excludelist="$(find ./ -type f -name '*.go' | xargs grep -l 'DONTCOVER')" | |
excludelist+=" $(find ./ -type f -name '*.pb.go')" | |
excludelist+=" $(find ./ -type f -name '*.pb.gw.go')" | |
excludelist+=" $(find ./ -type f -path './tests/mocks/*.go')" | |
for filename in ${excludelist}; do | |
filename=$(echo $filename | sed 's/^./github.com\/cosmos\/cosmos-sdk/g') | |
echo "Excluding ${filename} from coverage report..." | |
sed -i.bak "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt | |
done | |
if: env.GIT_DIFF | |
- uses: codecov/codecov-action@v1.5.2 | |
with: | |
file: ./coverage.txt | |
if: env.GIT_DIFF | |
test-race: | |
runs-on: ubuntu-latest | |
needs: split-test-files | |
strategy: | |
fail-fast: false | |
matrix: | |
part: ["00", "01", "02", "03"] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-go@v2.1.3 | |
with: | |
go-version: 1.18.10 | |
- uses: technote-space/get-diff-action@v4 | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- uses: actions/download-artifact@v2 | |
with: | |
name: "${{ github.sha }}-${{ matrix.part }}" | |
if: env.GIT_DIFF | |
- name: test & coverage report creation | |
run: | | |
xargs --arg-file=pkgs.txt.part.${{ matrix.part }} go test -mod=readonly -timeout 30m -race -tags='cgo ledger test_ledger_mock' | |
if: env.GIT_DIFF | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: "${{ github.sha }}-${{ matrix.part }}-race-output" | |
path: ./${{ matrix.part }}-race-output.txt | |
test-rosetta: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: technote-space/get-diff-action@v4 | |
id: git_diff | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: test rosetta | |
run: | | |
make test-rosetta | |
# if: env.GIT_DIFF | |
# Disabled since this can't build | |
# the contrib/images/simd-env/Dockerfile is looking for a | |
# db/go.mod file, which only exists on cosmos/cosmos-sdk main | |
# branch... | |
# | |
# liveness-test: | |
# runs-on: ubuntu-latest | |
# timeout-minutes: 15 | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: actions/setup-go@v2.1.3 | |
# with: | |
# go-version: 1.18.10 | |
# - uses: technote-space/get-diff-action@v4 | |
# id: git_diff | |
# with: | |
# PATTERNS: | | |
# **/**.go | |
# go.mod | |
# go.sum | |
# - name: start localnet | |
# run: | | |
# make clean localnet-start | |
# if: env.GIT_DIFF | |
# - name: test liveness | |
# run: | | |
# ./contrib/localnet_liveness.sh 100 5 50 localhost | |
# if: env.GIT_DIFF | |
docker-build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: build docker image | |
run: | | |
docker build --pull --rm -f "Dockerfile" -t simapp:latest "." |