Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Add Solidity compatibility check #363

Merged
merged 9 commits into from
Mar 14, 2024
Merged

ci: Add Solidity compatibility check #363

merged 9 commits into from
Mar 14, 2024

Conversation

samuelburnham
Copy link
Member

@samuelburnham samuelburnham commented Mar 13, 2024

Solidity-verifier compatibility

This surfaces issues early and lets authors/reviewers decide how to address breaking changes, solving the CI portion of #337.

Note

An earlier version of this PR did not recommend making this workflow a required status check due to an incorrect design. The current version only errors when the Rust or basic workflow steps fail, which they never should. This would be properly caught by making the workflow a required status check.

Successful runs shown in below comment and issue

Copy link
Contributor

solidity-verifier compatibility test failed ❌

https://github.com/lurk-lab/arecibo/actions/runs/8258730613

huitseeker
huitseeker previously approved these changes Mar 13, 2024
Copy link
Member

@huitseeker huitseeker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great!

Copy link
Member

@storojs72 storojs72 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed issues with @samuelburnham in DM.

The CI compatibility job needs to be modified - so that it runs compatibility tests in Rust (only for IPA currently), dynamically generates unit tests for Solidity, copies those tests into fetched solidity-verifier directory and finally runs them. Rust <-> Solidity Incompatibility over particular building block can be detected by failure of dynamically generated (by Rust) and executed (in Solidity) unit-test

@samuelburnham samuelburnham force-pushed the ci-solidity-compat branch 5 times, most recently from c3e433c to 96c8364 Compare March 14, 2024 06:44
Copy link
Contributor

solidity-verifier compatibility test failed ❌

https://github.com/lurk-lab/arecibo/actions/runs/8276598558

Copy link
Contributor

solidity-verifier compatibility test failed ❌

https://github.com/lurk-lab/arecibo/actions/runs/8276746932

Copy link
Contributor

solidity-verifier compatibility test failed ❌

https://github.com/lurk-lab/arecibo/actions/runs/8276856657

storojs72
storojs72 previously approved these changes Mar 14, 2024
Copy link
Member

@storojs72 storojs72 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

.github/workflows/solidity.yml Show resolved Hide resolved
.github/workflows/solidity.yml Show resolved Hide resolved
Copy link
Contributor

solidity-verifier compatibility test failed ❌

https://github.com/lurk-lab/arecibo/actions/runs/8285228645

Copy link
Contributor

solidity-verifier compatibility test failed ❌

https://github.com/lurk-lab/arecibo/actions/runs/8285320649

@storojs72 storojs72 self-requested a review March 14, 2024 17:58
Copy link
Member

@storojs72 storojs72 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent! Thanks

@samuelburnham samuelburnham added this pull request to the merge queue Mar 14, 2024
Merged via the queue into dev with commit 7ba1739 Mar 14, 2024
10 checks passed
@samuelburnham samuelburnham deleted the ci-solidity-compat branch March 14, 2024 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants