pio.yml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. name: PlatformIO CI
  2. on:
  3. push:
  4. paths:
  5. - 'firmware/**'
  6. - 'proto/**'
  7. - 'thirdparty/nanopb/**'
  8. - 'platformio.ini'
  9. - '.github/workflows/pio.yml'
  10. pull_request:
  11. paths:
  12. - 'firmware/**'
  13. - 'proto/**'
  14. - 'thirdparty/nanopb/**'
  15. - 'platformio.ini'
  16. - '.github/workflows/pio.yml'
  17. jobs:
  18. pio-build:
  19. runs-on: ubuntu-20.04
  20. steps:
  21. - name: Checkout code
  22. uses: actions/checkout@v2
  23. - name: Cache pip
  24. uses: actions/cache@v2
  25. with:
  26. path: ~/.cache/pip
  27. key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
  28. restore-keys: |
  29. ${{ runner.os }}-pip-
  30. - name: Cache PlatformIO
  31. uses: actions/cache@v2
  32. with:
  33. path: ~/.platformio
  34. key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
  35. - name: Set up Python
  36. uses: actions/setup-python@v2
  37. - name: Install PlatformIO
  38. id: pio_install
  39. run: |
  40. python -m pip install --upgrade pip
  41. pip install --upgrade platformio
  42. - name: Build Firmware (view)
  43. # Run regardless of other build step failures, as long as setup steps completed
  44. if: always() && steps.pio_install.outcome == 'success'
  45. run: |
  46. pio run \
  47. -e view
  48. - name: Build Firmware (nanofoc)
  49. # Run regardless of other build step failures, as long as setup steps completed
  50. if: always() && steps.pio_install.outcome == 'success'
  51. run: |
  52. pio run \
  53. -e nanofoc
  54. - name: Build Firmware (brushknight_esp32s3)
  55. # Run regardless of other build step failures, as long as setup steps completed
  56. if: always() && steps.pio_install.outcome == 'success'
  57. run: |
  58. pio run \
  59. -e brushknight_esp32s3