build.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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 lintFdroidDebug
  15. - shell: bash
  16. run: ./gradlew lintPlayDebug
  17. - if: ${{ always() }}
  18. uses: actions/upload-artifact@v3
  19. with:
  20. path: app/build/reports/lint-results-*.html
  21. assemble:
  22. runs-on: ubuntu-latest
  23. steps:
  24. - uses: actions/checkout@v3
  25. - uses: actions/setup-java@v3
  26. with:
  27. distribution: 'temurin'
  28. java-version: '17'
  29. - shell: bash
  30. env:
  31. SIGNING_KEYSTORE_FILE: release.keystore
  32. SIGNING_KEYSTORE_BASE64: ${{ secrets.SIGNING_KEYSTORE_BASE64 }}
  33. SIGNING_KEYSTORE_PASSWORD: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }}
  34. SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
  35. SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
  36. ACRA_URI: ${{ secrets.ACRA_URI }}
  37. ACRA_LOGIN: ${{ secrets.ACRA_LOGIN }}
  38. ACRA_PASSWORD: ${{ secrets.ACRA_PASSWORD }}
  39. run: |
  40. base64 --decode <<< "$SIGNING_KEYSTORE_BASE64" > app/release.keystore
  41. ./gradlew assembleRelease bundleRelease
  42. - if: startsWith(github.ref, 'refs/tags/v')
  43. uses: softprops/action-gh-release@v1
  44. with:
  45. files: |
  46. app/build/outputs/apk/*/*/*release*.apk
  47. app/build/outputs/bundle/*/*release*.aab
  48. tests:
  49. runs-on: macos-latest
  50. steps:
  51. - uses: actions/checkout@v3
  52. - uses: actions/setup-java@v3
  53. with:
  54. distribution: 'temurin'
  55. java-version: '17'
  56. - shell: bash
  57. run: ./emulator
  58. - shell: bash
  59. env:
  60. TEST_TOKEN: ${{ secrets.KNIGOPIS_TEST_TOKEN }}
  61. ACRA_URI: ${{ secrets.ACRA_URI }}
  62. ACRA_LOGIN: ${{ secrets.ACRA_LOGIN }}
  63. ACRA_PASSWORD: ${{ secrets.ACRA_PASSWORD }}
  64. run: ./gradlew connectedPlayAndroidTest
  65. - if: ${{ always() }}
  66. uses: actions/upload-artifact@v3
  67. with:
  68. path: app/build/reports/androidTests/connected/**/*.html