.pre-commit-config.yaml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. repos:
  2. - repo: https://github.com/pre-commit/pre-commit-hooks
  3. rev: v3.2.0
  4. hooks:
  5. - id: trailing-whitespace
  6. exclude: >
  7. (?x)^(
  8. target_chains/sui/vendor/|
  9. patches/|
  10. apps/hermes/server/proto/vendor/
  11. )
  12. - id: end-of-file-fixer
  13. exclude: >
  14. (?x)^(
  15. target_chains/sui/vendor/|
  16. patches/|
  17. apps/api-reference/public/currency-icons/|
  18. apps/hermes/server/proto/vendor/
  19. )
  20. - id: check-added-large-files
  21. exclude: >
  22. (?x)^(
  23. target_chains/sui/vendor/|
  24. patches/
  25. )
  26. - repo: local
  27. hooks:
  28. - id: turbo-fix-format
  29. name: Run turbo fix on packages
  30. language: system
  31. entry: sh -c 'pnpm turbo fix'
  32. pass_filenames: false
  33. # Hooks for the remote executor
  34. - id: cargo-fmt-remote-executor
  35. name: Cargo format for remote executor
  36. language: "rust"
  37. entry: cargo +1.73.0 fmt --manifest-path ./governance/remote_executor/Cargo.toml --all
  38. pass_filenames: false
  39. files: governance/remote_executor
  40. - id: cargo-clippy-remote-executor
  41. name: Cargo clippy for remote executor
  42. language: "rust"
  43. entry: cargo +1.73.0 clippy --manifest-path ./governance/remote_executor/Cargo.toml --tests -- --deny warnings
  44. pass_filenames: false
  45. files: governance/remote_executor
  46. # Hooks for cosmwasm contract
  47. - id: cargo-fmt-cosmwasm
  48. name: Cargo format for cosmwasm contract
  49. language: "rust"
  50. entry: cargo +1.82.0 fmt --manifest-path ./target_chains/cosmwasm/Cargo.toml --all
  51. pass_filenames: false
  52. files: target_chains/cosmwasm
  53. - id: cargo-clippy-cosmwasm
  54. name: Cargo clippy for cosmwasm contract
  55. language: "rust"
  56. entry: cargo +1.82.0 clippy --manifest-path ./target_chains/cosmwasm/Cargo.toml --tests -- --deny warnings
  57. pass_filenames: false
  58. files: target_chains/cosmwasm
  59. # Hooks for Hermes
  60. - id: cargo-fmt-hermes
  61. name: Cargo format for Hermes
  62. language: "rust"
  63. entry: cargo +1.82.0 fmt --manifest-path ./apps/hermes/server/Cargo.toml --all
  64. pass_filenames: false
  65. files: apps/hermes
  66. - id: cargo-clippy-hermes
  67. name: Cargo clippy for Hermes
  68. language: "rust"
  69. entry: cargo +1.82.0 clippy --manifest-path ./apps/hermes/server/Cargo.toml --tests -- --deny warnings
  70. pass_filenames: false
  71. files: apps/hermes
  72. # Hooks for Quorum
  73. - id: cargo-fmt-quorum
  74. name: Cargo format for Quorum
  75. language: "rust"
  76. entry: cargo +1.87.0 fmt --manifest-path ./apps/quorum/Cargo.toml --all
  77. pass_filenames: false
  78. files: apps/quorum
  79. - id: cargo-clippy-quorum
  80. name: Cargo clippy for Quorum
  81. language: "rust"
  82. entry: cargo +1.87.0 clippy --manifest-path ./apps/quorum/Cargo.toml --tests -- --deny warnings
  83. pass_filenames: false
  84. files: apps/quorum
  85. # Hooks for Fortuna
  86. - id: cargo-fmt-fortuna
  87. name: Cargo format for Fortuna
  88. language: "rust"
  89. entry: cargo +1.82.0 fmt --manifest-path ./apps/fortuna/Cargo.toml --all
  90. pass_filenames: false
  91. files: apps/fortuna
  92. - id: cargo-sqlx-fortuna
  93. name: Cargo sqlx prepare check for Fortuna
  94. language: "script"
  95. entry: ./apps/fortuna/check-sqlx.sh
  96. pass_filenames: false
  97. files: apps/fortuna
  98. - id: cargo-clippy-fortuna
  99. name: Cargo clippy for Fortuna
  100. language: "rust"
  101. entry: cargo +1.82.0 clippy --manifest-path ./apps/fortuna/Cargo.toml --tests -- --deny warnings
  102. pass_filenames: false
  103. files: apps/fortuna
  104. # Hooks for message buffer contract
  105. - id: cargo-fmt-message-buffer
  106. name: Cargo format for message buffer contract
  107. language: "rust"
  108. entry: cargo +1.66.1 fmt --manifest-path ./pythnet/message_buffer/Cargo.toml --all
  109. pass_filenames: false
  110. files: pythnet/message_buffer
  111. - id: cargo-clippy-message-buffer
  112. name: Cargo clippy for message buffer contract
  113. language: "rust"
  114. entry: cargo +1.66.1 clippy --manifest-path ./pythnet/message_buffer/Cargo.toml --tests -- --deny warnings
  115. pass_filenames: false
  116. files: pythnet/message_buffer
  117. # Hooks for pythnet_sdk
  118. - id: cargo-fmt-pythnet-sdk
  119. name: Cargo format for pythnet SDK
  120. language: "rust"
  121. entry: cargo +1.82.0 fmt --manifest-path ./pythnet/pythnet_sdk/Cargo.toml --all
  122. pass_filenames: false
  123. files: pythnet/pythnet_sdk
  124. - id: cargo-clippy-pythnet-sdk
  125. name: Cargo clippy for pythnet SDK
  126. language: "rust"
  127. entry: cargo +1.82.0 clippy --manifest-path ./pythnet/pythnet_sdk/Cargo.toml --tests -- --deny warnings
  128. pass_filenames: false
  129. files: pythnet/pythnet_sdk
  130. # Hooks for solana receiver contract
  131. - id: cargo-fmt-pyth-solana-receiver
  132. name: Cargo format for solana target chain contract
  133. language: "rust"
  134. entry: cargo +1.73.0 fmt --manifest-path ./target_chains/solana/Cargo.toml --all
  135. pass_filenames: false
  136. files: target_chains/solana
  137. - id: cargo-clippy-pyth-solana-receiver
  138. name: Cargo clippy for solana target chain contract
  139. language: "rust"
  140. entry: cargo +1.73.0 clippy --manifest-path ./target_chains/solana/Cargo.toml --tests -- --deny warnings
  141. pass_filenames: false
  142. files: target_chains/solana
  143. # For Lazer
  144. - id: cargo-fmt-lazer
  145. name: Cargo format for Lazer
  146. language: "rust"
  147. entry: cargo +1.82.0 fmt --manifest-path ./lazer/Cargo.toml --all
  148. pass_filenames: false
  149. files: lazer
  150. - id: cargo-clippy-lazer
  151. name: Cargo clippy for Lazer
  152. language: "rust"
  153. entry: cargo +1.82.0 clippy --manifest-path ./lazer/Cargo.toml --all-targets -- --deny warnings
  154. pass_filenames: false
  155. files: lazer
  156. - id: cargo-fmt-stylus-sdk
  157. name: Cargo format for Stylus SDK
  158. language: "rust"
  159. entry: cargo +1.82.0 fmt --manifest-path ./target_chains/ethereum/sdk/stylus/Cargo.toml --all
  160. pass_filenames: false
  161. files: target_chains/ethereum/sdk/stylus
  162. - id: cargo-clippy-stylus-sdk
  163. name: Cargo clippy for Stylus SDK
  164. language: "rust"
  165. entry: cargo +1.82.0 clippy --manifest-path ./target_chains/ethereum/sdk/stylus/Cargo.toml --all-targets -- --deny warnings
  166. pass_filenames: false
  167. files: target_chains/ethereum/sdk/stylus
  168. - id: fmt-aptos-lazer
  169. name: Format Aptos Lazer contracts
  170. language: system
  171. entry: aptos move fmt --package-path lazer/contracts/aptos
  172. pass_filenames: false
  173. files: lazer/contracts/aptos
  174. - id: lint-aptos-lazer
  175. name: Lint Aptos Lazer contracts
  176. language: system
  177. entry: aptos move lint --package-dir lazer/contracts/aptos --check-test-code --dev
  178. pass_filenames: false
  179. files: lazer/contracts/aptos