onflow / cadence

Cadence, the resource-oriented smart contract programming language 🏃‍♂️
https://cadence-lang.org
Apache License 2.0
534 stars 138 forks source link

Update contracts-compatibility-checker #3631

Closed SupunS closed 1 month ago

SupunS commented 1 month ago

Depends on https://github.com/onflow/flow-go/pull/6571

Description

For each PR, the contracts backward-compatibility checker runs with the latest changes (~HEAD). The CI always replace the dependency to be the latest, however, if the tool wasn't updated to the latest cadence changes, then it is only caught at the time of CI.

Therefore, make the tool to always use the latest cadence, so any changes that would break the tool is caught locally, when running the tests.


github-actions[bot] commented 1 month ago

Cadence Benchstat comparison

This branch with compared with the base branch onflow:master commit 1662018b5d39931623bc6218d726de8c8306cee0 The command for i in {1..N}; do go test ./... -run=XXX -bench=. -benchmem -shuffle=on; done was used. Bench tests were run a total of 7 times on each branch.

Collapsed results for better readability

SupunS commented 1 month ago

CI check (https://github.com/onflow/cadence/actions/runs/11448933364/job/31853489202?pr=3631), is failing at "checking contracts using master" step because the tool's code on master is outdated, due to the changes of this PR. But the workflow passes for "checking contracts using head of the PR" (as expected), and the Crypto contract is properly resolved there. So the CI-check would be back to normal once this PR is merged.