build.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. on:
  2. push:
  3. workflow_dispatch:
  4. permissions:
  5. contents: write
  6. jobs:
  7. lint:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - uses: actions/checkout@v3
  11. - uses: actions/setup-java@v3
  12. with:
  13. distribution: 'temurin'
  14. java-version: '17'
  15. - shell: bash
  16. run: ./gradlew lintFdroidDebug
  17. - shell: bash
  18. run: ./gradlew lintPlayDebug
  19. - if: ${{ always() }}
  20. uses: actions/upload-artifact@v3
  21. with:
  22. path: app/build/reports/lint-results-*.html
  23. verify:
  24. runs-on: ubuntu-latest
  25. steps:
  26. - uses: actions/checkout@v3
  27. - uses: actions/setup-java@v3
  28. with:
  29. distribution: 'temurin'
  30. java-version: '17'
  31. - shell: bash
  32. run: ./gradlew verifySqlDelightMigration
  33. assemble:
  34. runs-on: ubuntu-latest
  35. steps:
  36. - uses: actions/checkout@v3
  37. - uses: actions/setup-java@v3
  38. with:
  39. distribution: 'temurin'
  40. java-version: '17'
  41. - shell: bash
  42. env:
  43. SIGNING_KEYSTORE_FILE: release.keystore
  44. SIGNING_KEYSTORE_BASE64: ${{ secrets.SIGNING_KEYSTORE_BASE64 }}
  45. SIGNING_KEYSTORE_PASSWORD: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }}
  46. SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
  47. SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
  48. ACRA_URI: ${{ secrets.ACRA_URI }}
  49. ACRA_LOGIN: ${{ secrets.ACRA_LOGIN }}
  50. ACRA_PASSWORD: ${{ secrets.ACRA_PASSWORD }}
  51. run: |
  52. base64 --decode <<< "$SIGNING_KEYSTORE_BASE64" > app/release.keystore
  53. ./gradlew assembleRelease bundleRelease
  54. - if: startsWith(github.ref, 'refs/tags/v')
  55. uses: softprops/action-gh-release@v1
  56. with:
  57. files: |
  58. app/build/outputs/apk/*/*/*release*.apk
  59. app/build/outputs/bundle/*/*release*.aab
  60. app/build/outputs/mapping/playRelease/mapping.txt