build.yml 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. name: Build faps
  2. on:
  3. push:
  4. branches:
  5. - dev
  6. pull_request:
  7. workflow_dispatch:
  8. inputs:
  9. sdk-channel:
  10. description: 'SDK channel to use'
  11. required: true
  12. default: 'rc'
  13. type: choice
  14. options:
  15. - 'rc'
  16. - 'release'
  17. - 'dev'
  18. jobs:
  19. build:
  20. runs-on: ubuntu-latest
  21. steps:
  22. - name: Checkout
  23. uses: actions/checkout@v3
  24. with:
  25. fetch-depth: 0
  26. - name: Set up ufbt
  27. uses: flipperdevices/flipperzero-ufbt-action@v0.1.2
  28. with:
  29. sdk-channel: ${{ github.event.inputs.sdk-channel || 'rc'}}
  30. task: setup
  31. - name: Build & lint all apps
  32. run: |
  33. for appdir in $( dirname $( find . -name application.fam ) ) ; do
  34. echo "Building in $appdir"
  35. pushd $appdir
  36. ufbt lint faps
  37. popd
  38. done
  39. rm -rf dist || true && mkdir dist
  40. for fapfile in $( find . -name "*.fap" ) ; do
  41. cp $fapfile dist/
  42. done
  43. - name: Upload all .fap files
  44. uses: actions/upload-artifact@v3
  45. with:
  46. name: faps
  47. path: dist/*.fap