chore: release #421
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.66.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 cw20-base example | |
working-directory: examples/contracts/cw20-base | |
run: cargo build --release --target wasm32-unknown-unknown --locked --lib | |
- name: Build cw1-subkeys | |
working-directory: examples/contracts/cw1-subkeys | |
run: cargo build --release --target wasm32-unknown-unknown --locked --lib | |
- name: Build cw1-whitelist | |
working-directory: examples/contracts/cw1-whitelist | |
run: cargo build --release --target wasm32-unknown-unknown --locked --lib | |
- name: Build entry-points-overriding | |
working-directory: examples/contracts/entry-points-overriding | |
run: cargo build --release --target wasm32-unknown-unknown --locked --lib | |
- 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: Cw1-whitelist schema | |
working-directory: examples/contracts/cw1-whitelist/ | |
run: cargo schema | |
- name: Cw1-subkeys schema | |
working-directory: examples/contracts/cw1-subkeys | |
run: cargo schema | |
- name: Cw20-base schema | |
working-directory: examples/contracts/cw20-base | |
run: cargo schema | |
- name: Entry-points-overriding schema | |
working-directory: examples/contracts/entry-points-overriding | |
run: cargo schema | |
- name: Cw1-whitelist ts-codegen | |
working-directory: examples/contracts/cw1-whitelist/ | |
run: cosmwasm-ts-codegen generate --plugin client --schema ./schema --out ./ts --name cw1-whitelist --no-bundle | |
- name: Cw1-subkeys ts-codegen | |
working-directory: examples/contracts/cw1-subkeys/ | |
run: cosmwasm-ts-codegen generate --plugin client --schema ./schema --out ./ts --name cw1-subkeys --no-bundle | |
- name: Cw20-base ts-codegen | |
working-directory: examples/contracts/cw20-base/ | |
run: cosmwasm-ts-codegen generate --plugin client --schema ./schema --out ./ts --name cw20-base --no-bundle | |
- name: Entry-points-overriding ts-codegen | |
working-directory: examples/contracts/entry-points-overriding | |
run: cosmwasm-ts-codegen generate --plugin client --schema ./schema --out ./ts --name entry-points-overriding --no-bundle | |
- name: Archive schema artifats | |
uses: actions/upload-artifact@v3 | |
with: | |
name: schema-json | |
path: | | |
examples/contracts/cw1-subkeys/schema/cw1-subkeys.json | |
examples/contracts/cw1-whitelist/schema/cw1-whitelist.json | |
examples/contracts/cw20-base/schema/cw20-base.json | |
examples/contracts/entry-points-overriding/schema/entry-points-overriding.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 |