name: Test CosmWasm Contract

on:
  pull_request:
    paths:
      - .github/workflows/ci-cosmwasm-contract.yml
      - target_chains/cosmwasm/**
      - wormhole_attester/sdk/rust/**
  push:
    branches:
      - main

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: target_chains/cosmwasm/contracts/pyth
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - name: Format check
        run: cargo fmt --all -- --check
        if: success() || failure()
      - name: Clippy check
        run: cargo clippy --all-targets -- --deny warnings
        if: success() || failure()
      - name: Build
        run: cargo build --verbose
        if: success() || failure()
      - name: Run tests
        run: cargo test --verbose
        if: success() || failure()
