diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d744bdd14..a81b333f3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,39 +10,14 @@ on: workflow_dispatch: jobs: - build: - name: Pre-build - runs-on: ubuntu-latest - timeout-minutes: 10 - steps: - - uses: fkirc/skip-duplicate-actions@master - - uses: actions/checkout@v2 - - uses: gradle/wrapper-validation-action@v1 - - uses: actions/setup-java@v1 - with: - java-version: 11 - - uses: actions/cache@v2 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }} - - name: Build - run: ./gradlew --build-cache compileFdroidDebugUnitTestKotlin preFdroidDebugAndroidTestBuild dexBuilderFdroidDebugAndroidTest packageFdroidDebug packageFdroidDebugAndroidTest - - name: Prepare build cache - run: tar -cf prebuild.tar .build-cache .gradle app/build - - uses: actions/upload-artifact@v2 - with: - name: prebuild.tar - path: prebuild.tar - unit-tests: name: Unit tests runs-on: ubuntu-latest timeout-minutes: 10 - needs: [ build ] steps: + - uses: fkirc/skip-duplicate-actions@master - uses: actions/checkout@v2 + - uses: gradle/wrapper-validation-action@v1 - uses: actions/setup-java@v1 with: java-version: 11 @@ -52,11 +27,6 @@ jobs: ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }} - - uses: actions/download-artifact@v2 - with: - name: prebuild.tar - - name: Extract build cache - run: tar -xf prebuild.tar - name: Unit tests run: | ./gradlew --build-cache -Pcoverage testFdroidDebugUnitTest --stacktrace @@ -65,49 +35,12 @@ jobs: with: flags: unit - instrumentation-tests: - name: Instrumentation tests - runs-on: macOS-latest - timeout-minutes: 15 - needs: [ build ] - strategy: - fail-fast: true - matrix: - api-level: [21, 29] - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v1 - with: - java-version: 11 - - uses: actions/cache@v2 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }} - - uses: actions/download-artifact@v2 - with: - name: prebuild.tar - - name: Extract build cache - run: tar -xf prebuild.tar - - name: Instrumentation tests - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: ${{ matrix.api-level }} - arch: x86 - script: | - ./gradlew --build-cache -Pcoverage connectedFdroidDebugAndroidTest --stacktrace - ./gradlew --build-cache -Pcoverage jacocoTestReport --stacktrace - - uses: codecov/codecov-action@v1 - with: - flags: instrumented,api-${{ matrix.api-level }} - deploy-google-play: name: Deploy to google play runs-on: ubuntu-latest timeout-minutes: 10 environment: google-play - needs: [ build, unit-tests, instrumentation-tests ] + needs: [ unit-tests ] if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') steps: - uses: actions/checkout@v2 @@ -120,11 +53,6 @@ jobs: ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }} - - uses: actions/download-artifact@v2 - with: - name: prebuild.tar - - name: Extract build cache - run: tar -xf prebuild.tar - name: Decrypt keys env: ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }} @@ -140,3 +68,135 @@ jobs: PLAY_SERVICE_ACCOUNT_EMAIL: ${{ secrets.PLAY_SERVICE_ACCOUNT_EMAIL }} PLAY_STORE_PASSWORD: ${{ secrets.PLAY_STORE_PASSWORD }} run: ./gradlew publishPlayRelease -PenableFirebase --stacktrace; + + deploy-appcenter: + name: Deploy to App Center + runs-on: ubuntu-latest + timeout-minutes: 10 + environment: app-center + if: github.ref != 'refs/heads/develop' + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v1 + with: + java-version: 11 + - uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }} + - name: Set run number with offset + env: + BUILD_NUMBER_OFFSET: ${{ secrets.BUILD_NUMBER_OFFSET }} + run: echo "RUN_NUMBER=$((GITHUB_RUN_NUMBER+BUILD_NUMBER_OFFSET))" >> $GITHUB_ENV + - name: Prepare build configuration + run: | + sed -i -e "s#applicationIdSuffix \".dev\"#applicationIdSuffix \".${GITHUB_HEAD_REF//[-.\/]/_}\"#" app/build.gradle + sed -i -e "s#.dev\"#.${GITHUB_HEAD_REF//[-.\/]/_}\"#" app/src/debug/google-services.json + sed -i -e "s#.dev\"#.${GITHUB_HEAD_REF//[-.\/]/_}\"#" app/src/debug/agconnect-services.json + sed -i -e '/versionNameSuffix/d' app/build.gradle + - name: Add signing config + run: | + cat >> app/build.gradle <> $GITHUB_ENV + - name: Add signing config + run: | + cat >> app/build.gradle <