ci.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. name: "CI"
  2. # For more information on how to set up GitHub secrets, check the following link:
  3. # https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions
  4. env:
  5. HARDHAT_VAR_INFURA_API_KEY: ${{ secrets.InfuraApiKey }}
  6. HARDHAT_VAR_MNEMONIC: ${{ secrets.Mnemonic }}
  7. HARDHAT_VAR_ARBISCAN_API_KEY: ${{ secrets.ArbiscanApiKey }}
  8. HARDHAT_VAR_BSCSCAN_API_KEY: ${{ secrets.BscscanApiKey }}
  9. HARDHAT_VAR_ETHERSCAN_API_KEY: ${{ secrets.EtherscanApiKey }}
  10. HARDHAT_VAR_OPTIMISM_API_KEY: ${{ secrets.OptimismApiKey }}
  11. HARDHAT_VAR_POLYGONSCAN_API_KEY: ${{ secrets.PolygonscanApiKey }}
  12. HARDHAT_VAR_SNOWTRACE_API_KEY: ${{ secrets.SnowtraceApiKey }}
  13. on:
  14. workflow_dispatch:
  15. pull_request:
  16. push:
  17. branches:
  18. - main
  19. jobs:
  20. ci:
  21. runs-on: "ubuntu-latest"
  22. steps:
  23. - name: "Check out the repo"
  24. uses: "actions/checkout@v3"
  25. - name: "Install Pnpm"
  26. uses: "pnpm/action-setup@v2"
  27. with:
  28. version: "8"
  29. - name: "Install Node.js"
  30. uses: "actions/setup-node@v3"
  31. with:
  32. cache: "pnpm"
  33. node-version: "lts/*"
  34. - name: "Install the dependencies"
  35. run: "pnpm install"
  36. - name: "Lint the code"
  37. run: "pnpm lint"
  38. - name: "Add lint summary"
  39. run: |
  40. echo "## Lint results" >> $GITHUB_STEP_SUMMARY
  41. echo "✅ Passed" >> $GITHUB_STEP_SUMMARY
  42. - name: "Compile the contracts and generate the TypeChain bindings"
  43. run: "pnpm typechain"
  44. - name: "Test the contracts and generate the coverage report"
  45. run: "pnpm coverage"
  46. - name: "Add test summary"
  47. run: |
  48. echo "## Test results" >> $GITHUB_STEP_SUMMARY
  49. echo "✅ Passed" >> $GITHUB_STEP_SUMMARY