chore: release #672
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: Sylvia Testing | |
on: | |
push: | |
branches: | |
- main | |
- feat/* | |
pull_request: | |
env: | |
RUST_BACKTRACE: 1 | |
jobs: | |
conv_commits: | |
name: Commits consistency | |
runs-on: ubuntu-latest | |
steps: | |
- name: Commits validation | |
uses: taskmedia/[email protected] | |
with: | |
types: "feat|fix|revert|docs|test|refactor|chore|build" | |
test_project: | |
name: ${{ matrix.build }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- build: macOS | |
os: macOS-latest | |
- build: Windows | |
os: windows-latest | |
defaults: | |
run: | |
shell: bash | |
working-directory: ./ | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.70.0 | |
target: wasm32-unknown-unknown | |
profile: minimal | |
override: true | |
components: rustfmt, clippy | |
- name: Install npm | |
uses: actions/setup-node@v3 | |
- name: Intall ts-codegen | |
run: npm install -g @cosmwasm/ts-codegen | |
- name: Test project | |
run: cargo test --locked | |
- name: Clippy project | |
run: cargo clippy --all-targets -- -D warnings | |
- name: Fmt check project | |
run: cargo fmt --check | |
- name: Test examples | |
working-directory: examples | |
run: cargo test --locked | |
- name: Clippy examples | |
working-directory: examples | |
run: cargo clippy --all-targets -- -D warnings | |
- name: Fmt check examples | |
working-directory: examples | |
run: cargo fmt --check | |
- name: Build contracts | |
working-directory: examples/contracts/ | |
run: ../../ci_contracts.sh "cargo wasm" | |
- name: Install cosmwasm-check | |
run: cargo install cosmwasm-check --force | |
- name: Check contracts | |
run: find examples/target/wasm32-unknown-unknown/release/ -type f -name "*.wasm" -exec cosmwasm-check {} \; | |
- name: Create contracts schema | |
working-directory: examples/contracts/ | |
run: ../../ci_contracts.sh "cargo schema" | |
- name: Run ts-codegen for contracts | |
working-directory: examples/contracts/ | |
run: ../../ci_contracts.sh "cosmwasm-ts-codegen generate --plugin client --schema ./schema --out ./ts --name ${command} --no-bundle" | |
- name: Archive schema artifats | |
uses: actions/upload-artifact@v3 | |
with: | |
name: schema-json | |
path: | | |
examples/contracts/**/schema/*.json | |
coverage: | |
name: Code coverage | |
runs-on: ubuntu-latest | |
container: | |
image: xd009642/tarpaulin:develop | |
options: --security-opt seccomp=unconfined | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Generate code coverage | |
run: | | |
cargo tarpaulin --verbose --all-features --workspace --timeout 120 --out xml --engine llvm | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@v2 | |
with: | |
fail_ci_if_error: true |