feat: Wrap contract types in sv
module
#553
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: 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/action-conventional-commits@v1.1.3 | |
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 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: Build custom | |
working-directory: examples/contracts/custom | |
run: cargo build --release --target wasm32-unknown-unknown --locked --lib | |
- name: Build generic_contract | |
working-directory: examples/contracts/generic_contract | |
run: cargo build --release --target wasm32-unknown-unknown --locked --lib | |
- name: Build generic_iface_on_contract | |
working-directory: examples/contracts/generic_iface_on_contract | |
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: Custom schema | |
working-directory: examples/contracts/custom | |
run: cargo schema | |
- name: Generic_contract schema | |
working-directory: examples/contracts/generic_contract | |
run: cargo schema | |
- name: generic_iface_on_contract schema | |
working-directory: examples/contracts/generic_iface_on_contract | |
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: Custom ts-codegen | |
working-directory: examples/contracts/custom/ | |
run: cosmwasm-ts-codegen generate --plugin client --schema ./schema --out ./ts --name custom --no-bundle | |
- name: Generic_contract ts-codegen | |
working-directory: examples/contracts/generic_contract/ | |
run: cosmwasm-ts-codegen generate --plugin client --schema ./schema --out ./ts --name custom --no-bundle | |
- name: Generic_iface_on_contract ts-codegen | |
working-directory: examples/contracts/generic_iface_on_contract | |
run: cosmwasm-ts-codegen generate --plugin client --schema ./schema --out ./ts --name custom --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 | |
examples/contracts/custom/schema/custom.json | |
examples/contracts/generic_contract/schema/generic_contract.json | |
examples/contracts/generic_iface_on_contract/schema/generic_iface_on_contract.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 |