build.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. on:
  2. push:
  3. workflow_dispatch:
  4. jobs:
  5. lint:
  6. runs-on: ubuntu-latest
  7. steps:
  8. - uses: actions/checkout@v3
  9. - uses: actions/setup-java@v3
  10. with:
  11. distribution: 'temurin'
  12. java-version: '17'
  13. - shell: bash
  14. run: ./gradlew lintDebug
  15. - if: ${{ always() }}
  16. uses: actions/upload-artifact@v3
  17. with:
  18. path: app/build/reports/lint-results-debug.html
  19. assemble:
  20. runs-on: ubuntu-latest
  21. steps:
  22. - uses: actions/checkout@v3
  23. - uses: actions/setup-java@v3
  24. with:
  25. distribution: 'temurin'
  26. java-version: '17'
  27. - shell: bash
  28. run: ./gradlew assembleRelease
  29. - shell: bash
  30. run: ./gradlew bundleRelease
  31. - if: startsWith(github.ref, 'refs/tags/v')
  32. uses: softprops/action-gh-release@v1
  33. with:
  34. files: |
  35. app/build/outputs/apk/release/*-release*.apk
  36. app/build/outputs/bundle/release/*-release.aab
  37. tests:
  38. runs-on: macos-latest
  39. steps:
  40. - uses: actions/checkout@v3
  41. - uses: actions/setup-java@v3
  42. with:
  43. distribution: 'temurin'
  44. java-version: '17'
  45. - shell: bash
  46. run: ./emulator
  47. - shell: bash
  48. env:
  49. TEST_TOKEN: ${{ secrets.KNIGOPIS_TEST_TOKEN }}
  50. run: ./gradlew connectedAndroidTest
  51. - if: ${{ always() }}
  52. uses: actions/upload-artifact@v3
  53. with:
  54. path: app/build/reports/androidTests/connected/*.html