ci-turbo-build.yml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. name: Turbo build
  2. on:
  3. pull_request:
  4. paths:
  5. - "**.tsx?"
  6. - "**.jsx?"
  7. - "**.json"
  8. - "**.sol"
  9. - "**.css"
  10. - "**.scss"
  11. - "**.sass"
  12. - "**/package.json"
  13. - "**/package-lock.json"
  14. - "**/tsconfig.json"
  15. - .github/workflows/ci-turbo-build.yml
  16. push:
  17. branches: [main]
  18. jobs:
  19. build:
  20. runs-on: ubuntu-latest
  21. steps:
  22. - uses: actions/checkout@v4
  23. - uses: actions-rust-lang/setup-rust-toolchain@v1
  24. - uses: actions/setup-node@v4
  25. with:
  26. node-version-file: "package.json"
  27. # Libusb is a build requirement for the node-hid package and so pnpm
  28. # install will fail if this isn't in the build environment and if a
  29. # precompiled binary isn't found.
  30. - name: Install libusb
  31. run: sudo apt-get update && sudo apt-get install -y libusb-1.0-0-dev libudev-dev
  32. # Install Foundry for Ethereum contract builds
  33. - name: Install Foundry
  34. uses: foundry-rs/foundry-toolchain@v1
  35. with:
  36. version: v0.3.0
  37. - uses: pnpm/action-setup@v4
  38. name: Install pnpm
  39. with:
  40. run_install: true
  41. - name: Install Forge dependencies
  42. run: cd target_chains/ethereum/contracts && pnpm run install-forge-deps
  43. - name: Cache for Turbo
  44. uses: rharkor/caching-for-turbo@v1.5
  45. - name: Build
  46. run: pnpm run turbo build