Skip to content

testing

testing #6549

Workflow file for this run

name: ci
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} # add concurrency
cancel-in-progress: true
jobs:
ci:
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
ci_step: [
"lint",
"test",
"test-fuzz",
"integration tests coreum-modules",
"integration tests coreum-stress",
"integration tests coreum-ibc",
"integration tests coreum-upgrade-v5.0.0",
]
include:
- ci_step: "lint"
command: make lint
linter-cache: true
wasm-cache: true
codecov: false
- ci_step: "test"
command: make test
linter-cache: false
wasm-cache: true
codecov: true
codecov-name: coreum
- ci_step: "test-fuzz"
command: make test-fuzz
linter-cache: false
wasm-cache: true
codecov: false
- ci_step: "integration tests coreum-modules"
command: make integration-tests-modules
linter-cache: false
wasm-cache: true
codecov: true
codecov-name: coreum-integration-tests-modules
- ci_step: "integration tests coreum-stress"
command: make integration-tests-stress
linter-cache: false
wasm-cache: true
codecov: false
- ci_step: "integration tests coreum-ibc"
command: make integration-tests-ibc
linter-cache: false
wasm-cache: true
codecov: false
- ci_step: "integration tests coreum-upgrade-v5.0.0"
command: make integration-tests-upgrade
linter-cache: false
wasm-cache: true
codecov: false
runs-on: self-hosted
steps:
- name: Go version used to build builder
run: go version
- name: Checkout coreum
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup go cache
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- name: Setup crust cache
uses: actions/cache@v4
with:
path: |
~/.cache/crust
key: ${{ runner.os }}-crust-${{ hashFiles('build/go.sum') }}
- name: Make builder
run: ${{ github.workspace }}/bin/coreum-builder build/me
- name: Retrieve go version
id: goversion
run: echo "GO_VERSION=$(${{ github.workspace }}/bin/go version)" >> $GITHUB_OUTPUT
- name: Print go version
run: echo ${{ steps.goversion.outputs.GO_VERSION }}
- name: Setup linter cache
uses: actions/cache@v4
if: ${{ matrix.linter-cache }}
with:
path: ~/.cache/golangci-lint
key: ${{ runner.os }}-go-linter-${{ steps.goversion.outputs.GO_VERSION }}
- name: Set docker cache
uses: ScribeMD/[email protected]
with:
key: ${{ runner.os }}-docker-${{ hashFiles('build/go.sum') }}
- name: Setup smart contract build cache
uses: actions/cache@v4
with:
# we need to cache code-hashes.json under the same key as the artifacts, since the invalidation condition
# for both of them are the same.
path: |
${{ github.workspace }}/integration-tests/contracts/**/artifacts/*
${{ github.workspace }}/x/asset/ft/keeper/test-contracts/**/artifacts/*
${{ github.workspace }}/x/dex/keeper/test-contracts/**/artifacts/*
~/.cache/crust/wasm/code-hashes.json
key: ${{ runner.os }}-cache-smart-contracts-${{ hashFiles('**/*.rs', '**/Cargo.toml', '**/Cargo.lock') }}
if: ${{ matrix.wasm-cache }}
- name: Run ${{ matrix.ci_step }}
run: ${{ matrix.command }}
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ${{ github.workspace }}/coverage/${{ matrix.codecov-name }}
flags: ${{ matrix.codecov-name }}
fail_ci_if_error: true
verbose: true
if: ${{ matrix.codecov }}
- name: Dump docker logs on failure
if: failure()
uses: jwalton/gh-docker-logs@v2