name: pulsebridge-app build and test on: [push, pull_request] env: ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} ANDROID_KEYSTORE_PATH: ${{ secrets.ANDROID_KEYSTORE_PATH }} jobs: test: name: Test runs-on: macos-12 steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v2 with: distribution: 'temurin' java-version: '17' # - name: Decrypt keystore # run: openssl aes-256-cbc -K ${{ secrets.ANDROID_KEYSTORE_SSL_KEY }} -iv ${{ secrets.ANDROID_KEYSTORE_SSL_IV }} -in pulsebridge.jks.enc -out pulsebridge.jks -d - name: AVD cache uses: actions/cache@v2 id: avd-cache with: path: | ~/.android/avd/* ~/.android/adb* key: avd-26-default - name: Create AVD and generate snapshot for caching if: steps.avd-cache.outputs.cache-hit != 'true' uses: reactivecircus/android-emulator-runner@v2 with: api-level: 26 target: default force-avd-creation: false emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: false script: echo "Generated AVD snapshot for caching." - name: Make gradlew executable run: chmod +x ./gradlew - name: Run unit tests run: make test - name: Archive results uses: actions/upload-artifact@v2 with: name: Test report path: | build/reports/ if: ${{ failure() }} build: name: Build runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v2 with: distribution: 'temurin' java-version: '17' - uses: android-actions/setup-android@v2 - run: yes | sdkmanager 'platforms;android-28' # - name: Decrypt keystore # run: openssl aes-256-cbc -K ${{ secrets.ANDROID_KEYSTORE_SSL_KEY }} -iv ${{ secrets.ANDROID_KEYSTORE_SSL_IV }} -in pulsebridge.jks.enc -out pulsebridge.jks -d - name: Make gradlew executables run: chmod +x ./gradlew - run: make assemble-release env: GIT_TAG: SNAPSHOT - name: GitHub release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: draft: true files: ./build/outputs/apk/**/release/*.apk