ci-starknet-tools.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. name: Check Starknet Tools
  2. on:
  3. pull_request:
  4. paths:
  5. - target_chains/starknet/tools/**
  6. push:
  7. branches: [main]
  8. jobs:
  9. test:
  10. runs-on: ubuntu-latest
  11. steps:
  12. - uses: actions/checkout@v2
  13. - uses: actions-rs/toolchain@v1
  14. with:
  15. toolchain: 1.86.0
  16. components: rustfmt, clippy
  17. override: true
  18. - uses: actions/checkout@v3
  19. - uses: Swatinem/rust-cache@v2
  20. with:
  21. workspaces: "target_chains/starknet/tools/test_vaas -> target"
  22. - name: Install Scarb
  23. uses: software-mansion/setup-scarb@v1
  24. with:
  25. tool-versions: target_chains/starknet/contracts/.tool-versions
  26. - name: Install Starkli
  27. run: curl https://get.starkli.sh | sh && . ~/.config/.starkli/env && starkliup -v $(awk '/starkli/{print $2}' target_chains/starknet/contracts/.tool-versions)
  28. - name: Check formatting
  29. run: cargo fmt --manifest-path ./target_chains/starknet/tools/test_vaas/Cargo.toml -- --check
  30. - name: Run clippy
  31. run: cargo clippy --manifest-path ./target_chains/starknet/tools/test_vaas/Cargo.toml --all-targets -- --deny warnings
  32. - name: Run generate_keypair binary
  33. run: cargo run --manifest-path ./target_chains/starknet/tools/test_vaas/Cargo.toml --bin generate_keypair
  34. - name: Check test data
  35. run: |
  36. . ~/.config/.starkli/env && cargo run --manifest-path ./target_chains/starknet/tools/test_vaas/Cargo.toml --bin generate_test_data > ./target_chains/starknet/contracts/data.cairo
  37. cd target_chains/starknet/contracts && scarb fmt data.cairo
  38. if ! diff ./tests/data.cairo data.cairo; then
  39. >&2 echo "Re-run generate_test_data to update data.cairo"
  40. exit 1
  41. fi
  42. rm data.cairo