Skip to content

Commit f9ae492

Browse files
authored
Merge pull request #970 from CosmWasm/f64-check
Add test for contracts with float ops
2 parents 299480a + 2d7611c commit f9ae492

20 files changed

+2289
-0
lines changed

.circleci/config.yml

+59
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ workflows:
1414
- contract_hackatom
1515
- contract_ibc_reflect
1616
- contract_ibc_reflect_send
17+
- contract_floaty
1718
- contract_queue
1819
- contract_reflect
1920
- contract_staking
@@ -476,6 +477,53 @@ jobs:
476477
- target/wasm32-unknown-unknown/release/deps
477478
key: cargocache-v2-contract_ibc_reflect_send-rust:1.51.0-{{ checksum "Cargo.lock" }}
478479

480+
contract_floaty:
481+
docker:
482+
- image: rust:1.51.0
483+
environment:
484+
RUST_BACKTRACE: 1
485+
working_directory: ~/cosmwasm/contracts/floaty
486+
steps:
487+
- checkout:
488+
path: ~/cosmwasm
489+
- run:
490+
name: Version information
491+
command: rustc --version; cargo --version; rustup --version
492+
- restore_cache:
493+
keys:
494+
- cargocache-v2-contract_floaty-rust:1.51.0-{{ checksum "Cargo.lock" }}
495+
- run:
496+
name: Add wasm32 target
497+
command: rustup target add wasm32-unknown-unknown && rustup target list --installed
498+
- run:
499+
name: Build wasm binary
500+
command: cargo wasm --locked
501+
- run:
502+
name: Unit tests
503+
command: cargo unit-test --locked
504+
- run:
505+
name: Build and run schema generator
506+
command: cargo schema --locked
507+
- run:
508+
name: Ensure schemas are up-to-date
509+
command: |
510+
CHANGES_IN_REPO=$(git status --porcelain)
511+
if [[ -n "$CHANGES_IN_REPO" ]]; then
512+
echo "Repository is dirty. Showing 'git status' and 'git --no-pager diff' for debugging now:"
513+
git status && git --no-pager diff
514+
exit 1
515+
fi
516+
- save_cache:
517+
paths:
518+
- /usr/local/cargo/registry
519+
- target/debug/.fingerprint
520+
- target/debug/build
521+
- target/debug/deps
522+
- target/wasm32-unknown-unknown/release/.fingerprint
523+
- target/wasm32-unknown-unknown/release/build
524+
- target/wasm32-unknown-unknown/release/deps
525+
key: cargocache-v2-contract_floaty-rust:1.51.0-{{ checksum "Cargo.lock" }}
526+
479527
contract_queue:
480528
docker:
481529
- image: rust:1.51.0
@@ -655,6 +703,10 @@ jobs:
655703
name: Check formatting of contract hackatom
656704
working_directory: ~/project/contracts/hackatom
657705
command: cargo fmt -- --check
706+
- run:
707+
name: Check formatting of contract floaty
708+
working_directory: ~/project/contracts/floaty
709+
command: cargo fmt -- --check
658710
- run:
659711
name: Check formatting of contract reflect
660712
working_directory: ~/project/contracts/reflect
@@ -782,6 +834,13 @@ jobs:
782834
mkdir -p target/wasm32-unknown-unknown/release
783835
touch target/wasm32-unknown-unknown/release/ibc_reflect_send.wasm
784836
cargo clippy --all-targets -- -D warnings
837+
- run:
838+
name: Clippy linting on floaty
839+
working_directory: ~/project/contracts/floaty
840+
command: |
841+
mkdir -p target/wasm32-unknown-unknown/release
842+
touch target/wasm32-unknown-unknown/release/floaty.wasm
843+
cargo clippy --all-targets -- -D warnings
785844
- run:
786845
name: Clippy linting on queue
787846
working_directory: ~/project/contracts/queue

.mergify.yml

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pull_request_rules:
1818
- "status-success=ci/circleci: contract_hackatom"
1919
- "status-success=ci/circleci: contract_ibc_reflect"
2020
- "status-success=ci/circleci: contract_ibc_reflect_send"
21+
- "status-success=ci/circleci: contract_floaty"
2122
- "status-success=ci/circleci: contract_queue"
2223
- "status-success=ci/circleci: contract_reflect"
2324
- "status-success=ci/circleci: contract_staking"

contracts/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ docker run --rm -v "$(pwd)":/code \
2525
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
2626
cosmwasm/rust-optimizer:0.11.0 ./contracts/crypto-verify
2727

28+
docker run --rm -v "$(pwd)":/code \
29+
--mount type=volume,source="devcontract_cache_floaty",target=/code/contracts/floaty/target \
30+
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
31+
cosmwasm/rust-optimizer:0.11.0 ./contracts/floaty
32+
2833
docker run --rm -v "$(pwd)":/code \
2934
--mount type=volume,source="devcontract_cache_hackatom",target=/code/contracts/hackatom/target \
3035
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \

contracts/floaty/.cargo/config

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[alias]
2+
wasm = "build --release --target wasm32-unknown-unknown"
3+
wasm-debug = "build --target wasm32-unknown-unknown"
4+
unit-test = "test --lib"
5+
integration-test = "test --test integration"
6+
schema = "run --example schema"

0 commit comments

Comments
 (0)