mirror of
https://github.com/element-hq/element-android
synced 2024-11-24 10:25:35 +03:00
66b30c33c8
We add the permission so we can write to the external storage with the screenshots We rename the screenshots so they can be uploaded via the github action correctly We always do the upload even if the test build has failed.
80 lines
2.7 KiB
YAML
80 lines
2.7 KiB
YAML
name: Sanity Test
|
|
|
|
on:
|
|
schedule:
|
|
# At 20:00 every day UTC
|
|
- cron: '0 20 * * *'
|
|
|
|
# Enrich gradle.properties for CI/CD
|
|
env:
|
|
CI_GRADLE_ARG_PROPERTIES: >
|
|
-Porg.gradle.jvmargs=-Xmx4g
|
|
-Porg.gradle.parallel=false
|
|
|
|
jobs:
|
|
integration-tests:
|
|
name: Sanity Tests (Synapse)
|
|
runs-on: macos-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
api-level: [ 28 ]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
ref: develop
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.8
|
|
- name: Cache pip
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-pip
|
|
restore-keys: |
|
|
${{ runner.os }}-pip-
|
|
${{ runner.os }}-
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.gradle/caches
|
|
~/.gradle/wrapper
|
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-gradle-
|
|
- name: Start synapse server
|
|
run: |
|
|
python3 -m venv .synapse
|
|
source .synapse/bin/activate
|
|
pip install synapse matrix-synapse
|
|
curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \
|
|
| sed s/127.0.0.1/0.0.0.0/g | sed 's/http:\/\/localhost/http:\/\/10.0.2.2/g' | bash -s -- --no-rate-limit
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
- name: Run sanity tests on API ${{ matrix.api-level }}
|
|
uses: reactivecircus/android-emulator-runner@v2
|
|
with:
|
|
api-level: ${{ matrix.api-level }}
|
|
arch: x86
|
|
profile: Nexus 5X
|
|
force-avd-creation: false
|
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
emulator-build: 7425822 # workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160
|
|
script: |
|
|
adb root
|
|
adb logcat -c
|
|
touch emulator.log
|
|
chmod 777 emulator.log
|
|
adb logcat >> emulator.log &
|
|
./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || (adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 )
|
|
- name: Upload Test Report Log
|
|
uses: actions/upload-artifact@v2
|
|
if: always()
|
|
with:
|
|
name: sanity-error-results
|
|
path: |
|
|
emulator.log
|
|
failure_screenshots/
|