From fc3f173ab37ba083a4d27af310a30ec011522ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odin=20Asbj=C3=B8rnsen?= Date: Fri, 24 Feb 2023 21:19:43 +0100 Subject: [PATCH] Generate screenshot tests for new submodule --- .github/workflows/android.yml | 176 +++++++++++++++++++--------------- 1 file changed, 99 insertions(+), 77 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 7e02786c..d9acf3b3 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -27,41 +27,100 @@ jobs: - name: Run Checks run: ./gradlew check --stacktrace - paparazi-screenshot-tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: set up JDK 11 - uses: actions/setup-java@v1 - with: - java-version: 11 - - name: Checkout Branch - uses: actions/checkout@v2 - - uses: actions/cache@v1 - with: - path: ~/.gradle/caches - # Key inspired from here - - # https://medium.com/@ychescale9/running-android-instrumented-tests-on-ci-from-bitrise-io-to-github-actions-a611e57ce71f - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} - restore-keys: ${{ runner.os }}-gradle- - - - name: Run Paparazzi Screenshot Tests - run: ./gradlew :showkase-screenshot-testing-paparazzi-sample:verifyPaparazziDebug -PuseKsp=true --stacktrace - - - name: Upload Screenshot Test Report - uses: actions/upload-artifact@v3 - if: always() - with: - name: reports - path: showkase-screenshot-testing-paparazzi-sample/build/reports/tests/testDebugUnitTest/ - retention-days: 1 - - name: Upload Screenshot Failure Differences - uses: actions/upload-artifact@v3 - if: failure() - with: - name: reports - path: showkase-screenshot-testing-paparazzi-sample/out/failures/ - retention-days: 1 + # paparazi-screenshot-tests: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 + # - name: set up JDK 11 + # uses: actions/setup-java@v1 + # with: + # java-version: 11 + # - name: Checkout Branch + # uses: actions/checkout@v2 + # - uses: actions/cache@v1 + # with: + # path: ~/.gradle/caches + # # Key inspired from here - + # # https://medium.com/@ychescale9/running-android-instrumented-tests-on-ci-from-bitrise-io-to-github-actions-a611e57ce71f + # key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} + # restore-keys: ${{ runner.os }}-gradle- + # + # - name: Run Paparazzi Screenshot Tests + # run: ./gradlew :showkase-screenshot-testing-paparazzi-sample:verifyPaparazziDebug -PuseKsp=true --stacktrace + # + # - name: Upload Screenshot Test Report + # uses: actions/upload-artifact@v3 + # if: always() + # with: + # name: reports + # path: showkase-screenshot-testing-paparazzi-sample/build/reports/tests/testDebugUnitTest/ + # retention-days: 1 + # - name: Upload Screenshot Failure Differences + # uses: actions/upload-artifact@v3 + # if: failure() + # with: + # name: reports + # path: showkase-screenshot-testing-paparazzi-sample/out/failures/ + # retention-days: 1 + # + # ui-testing: + # runs-on: macos-10.15 + # strategy: + # matrix: + # api-level: [ 26, 29 ] + # target: [ default, google_apis ] + # steps: + # - uses: actions/checkout@v2 + # - name: set up JDK 11 + # uses: actions/setup-java@v1 + # with: + # java-version: 11 + # - name: Checkout Branch + # uses: actions/checkout@v2 + # - uses: actions/cache@v1 + # with: + # path: ~/.gradle/caches + # # Key inspired from here - + # # https://medium.com/@ychescale9/running-android-instrumented-tests-on-ci-from-bitrise-io-to-github-actions-a611e57ce71f + # key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} + # restore-keys: ${{ runner.os }}-gradle- + # + # - name: Run UI Tests w/ KAPT + # uses: reactivecircus/android-emulator-runner@v2 + # with: + # emulator-build: 7425822 + # api-level: ${{ matrix.api-level }} + # target: ${{ matrix.target }} + # arch: x86_64 + # script: ./gradlew connectedCheck --no-daemon --stacktrace --debug + # + # - name: Run UI Tests w/ KSP + # uses: reactivecircus/android-emulator-runner@v2 + # with: + # emulator-build: 7425822 + # api-level: ${{ matrix.api-level }} + # target: ${{ matrix.target }} + # arch: x86_64 + # script: ./gradlew connectedCheck --no-daemon --stacktrace -PuseKsp=true --debug + # + # - name: Run Screenshot Tests + # uses: reactivecircus/android-emulator-runner@v2 + # with: + # emulator-build: 7425822 + # api-level: ${{ matrix.api-level }} + # target: ${{ matrix.target }} + # arch: x86_64 + # script: ./gradlew executeScreenshotTests -PdirectorySuffix=Api${{ matrix.api-level }} -PprintBase64 + # + # - name: Upload screenshot testing report + # uses: actions/upload-artifact@v3 + # with: + # name: reports + # path: sample/build/reports/shot/debug/Api${{ matrix.api-level }}/verification/ + # retention-days: 1 + + ### Uncomment the jobs below if you want to generate and record screenshots. Once you download the + ### artifact, place them under sample/screenshots/debug/ ui-testing: runs-on: macos-10.15 @@ -85,58 +144,21 @@ jobs: key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} restore-keys: ${{ runner.os }}-gradle- - - name: Run UI Tests w/ KAPT - uses: reactivecircus/android-emulator-runner@v2 - with: - emulator-build: 7425822 - api-level: ${{ matrix.api-level }} - target: ${{ matrix.target }} - arch: x86_64 - script: ./gradlew connectedCheck --no-daemon --stacktrace --debug - - - name: Run UI Tests w/ KSP - uses: reactivecircus/android-emulator-runner@v2 - with: - emulator-build: 7425822 - api-level: ${{ matrix.api-level }} - target: ${{ matrix.target }} - arch: x86_64 - script: ./gradlew connectedCheck --no-daemon --stacktrace -PuseKsp=true --debug - - - name: Run Screenshot Tests + - name: Record screenshots uses: reactivecircus/android-emulator-runner@v2 with: emulator-build: 7425822 api-level: ${{ matrix.api-level }} target: ${{ matrix.target }} arch: x86_64 - script: ./gradlew executeScreenshotTests -PdirectorySuffix=Api${{ matrix.api-level }} -PprintBase64 + script: ./gradlew executeScreenshotTests -PdirectorySuffix=Api${{ matrix.api-level }} -Precord - - name: Upload screenshot testing report + - name: Upload screenshots in an artifact uses: actions/upload-artifact@v3 with: - name: reports - path: sample/build/reports/shot/debug/Api${{ matrix.api-level }}/verification/ + name: Api${{ matrix.api-level }} + path: sample/screenshots/debug/Api${{ matrix.api-level }} retention-days: 1 -### Uncomment the jobs below if you want to generate and record screenshots. Once you download the -### artifact, place them under sample/screenshots/debug/ - -# - name: Record screenshots -# uses: reactivecircus/android-emulator-runner@v2 -# with: -# emulator-build: 7425822 -# api-level: ${{ matrix.api-level }} -# target: ${{ matrix.target }} -# arch: x86_64 -# script: ./gradlew executeScreenshotTests -PdirectorySuffix=Api${{ matrix.api-level }} -Precord -# -# - name: Upload screenshots in an artifact -# uses: actions/upload-artifact@v3 -# with: -# name: Api${{ matrix.api-level }} -# path: sample/screenshots/debug/Api${{ matrix.api-level }} -# retention-days: 1 -