Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a buildspec file for nightly tests (#2180)
- Loading branch information
1 parent
e6848ef
commit d24b15d
Showing
1 changed file
with
85 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
version: 0.2 | ||
# This file is used as part of the build process implemented using AWS CodeBuild [1]. | ||
# The CodeBuild documentation [2] provides an introduction of the service and its capabilities. In general | ||
# terms, it allows us to configure the actions executed when a build is triggered by a commit to the | ||
# amplify-android GitHub repository. | ||
# | ||
# For the purposes of this repo, we're simply running a build by using "./gradlew build" | ||
# command and in the post-build phase, we consolidate the JUnit report files in one location. | ||
# In the reports section, we're instructing CodeBuild to publish those reports which can be | ||
# viewed in the AWS CodeBuild console (Future work will be to publish those to Github for easier access). | ||
# | ||
# [1] - https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html | ||
# [2] - https://docs.aws.amazon.com/codebuild/latest/userguide/planning.html | ||
env: | ||
shell: /bin/sh | ||
phases: | ||
install: | ||
runtime-versions: | ||
nodejs: 12 | ||
python: 3.8 | ||
java: corretto11 | ||
commands: | ||
- echo 'Install phase starting' | ||
- npm install -g xunit-viewer | ||
- pip3 install junit-xml | ||
### INSTALL ANDROID 31 | ||
- export ANDROID_TOOLS_FILENAME="commandlinetools-linux-9123335_latest.zip" | ||
- wget https://dl.google.com/android/repository/$ANDROID_TOOLS_FILENAME -P ~ > /dev/null | ||
- unzip ~/$ANDROID_TOOLS_FILENAME -d ~ > /dev/null 2>&1 | ||
- mkdir -p /usr/local/android-sdk-linux/cmdline-tools | ||
- mv ~/cmdline-tools /usr/local/android-sdk-linux/cmdline-tools/latest | ||
- export PATH=/usr/local/android-sdk-linux/cmdline-tools/latest:/usr/local/android-sdk-linux/cmdline-tools/latest/bin:/usr/local/android-sdk-linux/platform-tools:$PATH | ||
- export ANDROID_SDK_ROOT=/usr/local/android-sdk-linux | ||
- yes | sdkmanager --licenses > /dev/null | ||
- sdkmanager "platform-tools" "platforms;android-31" > /dev/null | ||
- sdkmanager "build-tools;31.0.0" > /dev/null | ||
### END INSTALL ANDROID 31 | ||
finally: | ||
- echo 'Install phase completed.' | ||
pre_build: | ||
commands: | ||
- echo 'Pre-build phase starting' | ||
- mkdir -p build/allTests | ||
- | | ||
if [[ -z "${CONFIG_SOURCE_BUCKET}" ]]; then | ||
echo 'Pulling config files from Amplify' | ||
JAVA_HOME=$JDK_11_HOME ./gradlew pullBackendConfigFromAmplify | ||
else | ||
echo 'Pulling config files from S3' | ||
./scripts/pull_backend_config_from_s3 ${CONFIG_SOURCE_BUCKET} | ||
fi | ||
finally: | ||
- echo 'Pre-build phase completed.' | ||
build: | ||
commands: | ||
- echo 'Build phase starting.' | ||
- JAVA_HOME=$JDK_11_HOME ./gradlew runNightlyTestsInDeviceFarmPool | ||
finally: | ||
- echo 'Build phase completed.' | ||
post_build: | ||
commands: | ||
- echo 'Post-build phase starting' | ||
- mkdir -p build/reports/instrumented | ||
- xunit-viewer -r build/allTests -o build/reports/instrumented/${CODEBUILD_RESOLVED_SOURCE_VERSION}.html | ||
finally: | ||
- echo 'Post-build phase completed.' | ||
reports: | ||
amplify-android-devicefarm-tests: | ||
files: | ||
- '**/*' | ||
base-directory: 'build/allTests' | ||
discard-paths: no | ||
file-format: JUNITXML | ||
artifacts: | ||
files: | ||
- '**/*.apk' | ||
name: AmplifyAndroidCatApks | ||
discard-paths: yes | ||
secondary-artifacts: | ||
reports: | ||
files: | ||
- '**/*' | ||
name: DevicefarmTestRunReport | ||
base-directory: 'build/reports/instrumented' | ||
discard-paths: no |