image: briar/ci-image-android:latest stages: - test - optional_tests - check_reproducibility .base-test: stage: test before_script: - set -e - export GRADLE_USER_HOME=$PWD/.gradle cache: key: "$CI_COMMIT_REF_SLUG" paths: - .gradle/wrapper - .gradle/caches after_script: # these file change every time and should not be cached - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/ test: extends: .base-test script: - ./gradlew --no-daemon -Djava.security.egd=file:/dev/urandom animalSnifferMain animalSnifferTest - ./gradlew --no-daemon -Djava.security.egd=file:/dev/urandom check android test: extends: .base-test image: briar/ci-image-android-emulator:latest script: # start emulator first, so it can fail early - start-emulator.sh # run normal and screenshot tests together (exclude Large tests) - ./gradlew -Djava.security.egd=file:/dev/urandom connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.notAnnotation=androidx.test.filters.LargeTest only: refs: - merge_requests changes: - briar-android/**/* tags: - kvm test_reproducible: stage: check_reproducibility script: - "curl -X POST -F token=${RELEASE_CHECK_TOKEN} -F ref=master -F variables[RELEASE_TAG]=${CI_COMMIT_REF_NAME} https://code.briarproject.org/api/v4/projects/61/trigger/pipeline" only: - tags .optional_tests: stage: optional_tests before_script: - set -e - export GRADLE_USER_HOME=$PWD/.gradle cache: key: "$CI_COMMIT_REF_SLUG" paths: - .gradle/wrapper - .gradle/caches script: - OPTIONAL_TESTS=org.briarproject.bramble.plugin.tor.BridgeTest ./gradlew --info bramble-java:test --tests BridgeTest after_script: # these file change every time but should not be cached - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/ manual_tests: extends: .optional_tests when: manual except: - tags pre_release_tests: extends: .optional_tests only: - tags