name: Graphics Tests on: push: branches: [ master, 'robolectric-*.x' ] paths-ignore: - '**.md' pull_request: # Do not add `paths-ignore` here, this is required to be run on every PR for the `google` branch. branches: [ master, google ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: graphics_tests: strategy: fail-fast: false matrix: device: [ macos-13, # Tests Mac x86_64 macos-14, # Tests Mac arm64 ubuntu-latest, # Tests Linux x86_64 windows-2022, # Tests Windows x86_64 ] runs-on: ${{ matrix.device }} steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'adopt' java-version: 17 - uses: gradle/actions/setup-gradle@v4 - name: Show runner info run: uname -a - name: Run unit tests env: SKIP_ERRORPRONE: true SKIP_JAVADOC: true run: > ./gradlew :integration_tests:nativegraphics:testDebugUnitTest --stacktrace --continue "-Drobolectric.alwaysIncludeVariantMarkersInTestName=true" "-Dorg.gradle.workers.max=2" - name: Upload Test Results uses: actions/upload-artifact@v4 if: always() with: name: test_results_${{ matrix.device }} path: | **/build/test-results/**/TEST-*.xml **/roborazzi/build/reports/* **/roborazzi/src/screenshots/* **/roborazzi/build/outputs/roborazzi/*