[refactor] #3874: Removes IsAssetDefinitionOwnerQuery
#7887
Workflow file for this run
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: I2::Dev::Tests | |
on: | |
pull_request: | |
branches: [iroha2-dev] | |
paths: | |
- '**.rs' | |
- '**.json' | |
- '**.toml' | |
- '.github/workflows/**.yml' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
consistency: | |
runs-on: [self-hosted, Linux, iroha2ci] | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Check config.md | |
if: always() | |
run: ./scripts/tests/consistency.sh docs | |
- name: Check genesis.json | |
if: always() | |
run: ./scripts/tests/consistency.sh genesis | |
- name: Check client/config.json | |
if: always() | |
run: ./scripts/tests/consistency.sh client | |
- name: Check peer/config.json | |
if: always() | |
run: ./scripts/tests/consistency.sh peer | |
- name: Check schema.json | |
if: always() | |
run: ./scripts/tests/consistency.sh schema | |
- name: Check Docker Compose configurations | |
if: always() | |
run: ./scripts/tests/consistency.sh docker-compose | |
with_coverage: | |
runs-on: [self-hosted, Linux, iroha2ci] | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
steps: | |
- uses: actions/checkout@v3 | |
# TODO Remove this step #2165 | |
# - name: Adjust toolchain | |
# run: | | |
# rustup component add llvm-tools-preview | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run tests, with coverage | |
run: | | |
mold --run cargo llvm-cov clean --workspace | |
mold --run cargo llvm-cov --doc --no-report --all-features --workspace --no-fail-fast | |
mold --run cargo llvm-cov --no-report --ignore-filename-regex main.rs --all-features --workspace --no-fail-fast | |
- name: Generate lcov report | |
run: | | |
# generate report without tests | |
# https://github.com/taiki-e/cargo-llvm-cov#merge-coverages-generated-under-different-test-conditions | |
mold --run cargo llvm-cov --doctests --no-run --all-features --workspace --lcov --output-path lcov.info | |
- name: Upload coverage to coveralls.io | |
uses: coverallsapp/github-action@v2 | |
with: | |
file: lcov.info | |
compare-ref: ${{ github.base_ref }} | |
compare-sha: ${{ github.event.pull_request.base.sha}} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
allow-empty: true | |
fail_ci_if_error: true | |
integration: | |
runs-on: [self-hosted, Linux, iroha2ci] | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run tests, with no-default-features | |
run: | | |
mold --run cargo test --test mod --no-default-features -- \ | |
integration:: --skip unstable_network | |
unstable: | |
runs-on: [self-hosted, Linux, iroha2ci] | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run tests | |
run: mold --run cargo test -p iroha_client --tests --no-default-features unstable_network --quiet | |
# Run the job to check that the docker containers are properly buildable | |
pr-generator-build: | |
# Job will only execute if the head of the pull request is a branch for PR-generator case | |
if: startsWith(github.head_ref, 'iroha2-pr-deploy/') | |
runs-on: [self-hosted, Linux, iroha2-dev-push] | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Login to Soramitsu Harbor | |
uses: docker/login-action@v2 | |
with: | |
registry: docker.soramitsu.co.jp | |
username: ${{ secrets.HARBOR_USERNAME }} | |
password: ${{ secrets.HARBOR_TOKEN }} | |
- name: Set up Docker Buildx | |
id: buildx | |
if: always() | |
uses: docker/setup-buildx-action@v2 | |
with: | |
install: true | |
- name: Build and push iroha2:dev image | |
uses: docker/build-push-action@v4 | |
if: always() | |
with: | |
push: true | |
tags: docker.soramitsu.co.jp/iroha2/iroha2:dev-${{ github.event.pull_request.head.sha }} | |
labels: commit=${{ github.sha }} | |
build-args: TAG=dev | |
file: Dockerfile | |
# This context specification is required | |
context: . | |
client-cli-test: | |
runs-on: [self-hosted, Linux, iroha2ci] | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Build binaries | |
run: | | |
cargo build --bin iroha_client_cli | |
cargo build --bin kagami | |
cargo build --bin iroha | |
- name: Mark binaries as executable | |
run: | | |
chmod +x $CLIENT_CLI_DIR/ | |
- name: Run Iroha 2 on bare metal | |
run: | | |
./scripts/test_env.py setup | |
- name: Copy Iroha 2 client config | |
run: | | |
cp ./configs/client/config.json $CLIENT_CLI_DIR/ | |
- name: Set up .env for client_cli tests | |
run: | | |
echo "CLIENT_CLI_DIR=$CLIENT_CLI_DIR" >> ./client_cli/pytests/.env | |
echo "TORII_API_PORT_MIN=8080" >> ./client_cli/pytests/.env | |
echo "TORII_API_PORT_MAX=8083" >> ./client_cli/pytests/.env | |
- name: Install dependencies using Poetry | |
working-directory: client_cli/pytests | |
run: | | |
poetry install | |
- name: Run client cli tests | |
working-directory: client_cli/pytests | |
run: | | |
poetry run pytest |