build.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. env:
  29. SIGNING_KEYSTORE_FILE: release.keystore
  30. SIGNING_KEYSTORE_BASE64: ${{ secrets.SIGNING_KEYSTORE_BASE64 }}
  31. SIGNING_KEYSTORE_PASSWORD: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }}
  32. SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
  33. SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
  34. run: |
  35. base64 --decode <<< "$SIGNING_KEYSTORE_BASE64" > app/release.keystore
  36. mkdir -p release-files
  37. ./gradlew assembleRelease bundleRelease -PsigningConfig=release
  38. mv app/build/outputs/*/release/*release* release-files
  39. - if: startsWith(github.ref, 'refs/tags/v')
  40. uses: softprops/action-gh-release@v1
  41. with:
  42. files: |
  43. release-files/*release*.apk
  44. release-files/*release*.aab
  45. tests:
  46. runs-on: macos-latest
  47. steps:
  48. - uses: actions/checkout@v3
  49. - uses: actions/setup-java@v3
  50. with:
  51. distribution: 'temurin'
  52. java-version: '17'
  53. - shell: bash
  54. run: ./emulator
  55. - shell: bash
  56. env:
  57. TEST_TOKEN: ${{ secrets.KNIGOPIS_TEST_TOKEN }}
  58. run: ./gradlew connectedAndroidTest
  59. - if: ${{ always() }}
  60. uses: actions/upload-artifact@v3
  61. with:
  62. path: app/build/reports/androidTests/connected/**/*.html