Circleci update (#30)

- dirty fix for failing test
This commit is contained in:
2023-07-27 00:24:14 +01:00
committed by GitHub
parent dde36266f3
commit ff9777fb78
2 changed files with 72 additions and 23 deletions

View File

@@ -9,50 +9,72 @@ version: 2.1
orbs: orbs:
android: circleci/android@2.3.0 android: circleci/android@2.3.0
# Define a job to be invoked later in a workflow. commands:
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs setup_repo:
jobs: description: checkout repo and android dependencies
# Below is the definition of your job to build and test your app, you can rename and customize it as you want.
build-and-test:
# Parameters used for determining
parameters:
flavour:
type: string
default: "Driver"
# These next lines define the Android machine image executor.
# See: https://circleci.com/docs/2.0/executor-types/
executor:
name: android/android-machine
tag: 2023.05.1
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps: steps:
# Checkout the code and its submodule as the first step.
- checkout - checkout
# config git user
- run: - run:
name: Setup subtree for test data name: Setup subtree for test data
command: | command: |
git config --global user.email "$GIT_EMAIL" git config --global user.email "$GIT_EMAIL"
git config --global user.name "$GIT_EMAIL" git config --global user.name "$GIT_EMAIL"
git subtree add --prefix=driver_app_data https://github.com/hmalik144/driver_app_data main git subtree add --prefix=driver_app_data https://github.com/hmalik144/driver_app_data main
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Chmod permissions
command: sudo chmod +x ./gradlew
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
# Setup files for build. # Setup files for build.
- run: - run:
name: Setup variables for build name: Setup variables for build
command: | command: |
echo "$GOOGLE_SERVICES_KEY" > "app/google-services.json" echo "$GOOGLE_SERVICES_KEY" > "app/google-services.json"
- run: run_tests:
name: Grant execute permission for gradlew description: run tests for flavour specified
command: | parameters:
chmod +x gradlew flavour:
type: string
default: "Driver"
steps:
# The next step will run the unit tests # The next step will run the unit tests
- android/run-tests: - android/run-tests:
test-command: ./gradlew test<< parameters.flavour >>DebugUnitTest --continue test-command: ./gradlew test<< parameters.flavour >>DebugUnitTest --continue
- store_artifacts:
path: app/build/reports
destination: reports
- store_test_results:
path: app/build/test-results
run_ui_tests:
description: start firebase emulator and run ui tests for flavour specified
parameters:
flavour:
type: string
default: "AtlasWeather"
steps:
# Download and cache dependencies
- restore_cache:
keys:
- emulator-cache-v1-
# Install Firebase tools needed for firebase emulator # Install Firebase tools needed for firebase emulator
- run: - run:
name: Install firebase tools name: Install firebase tools
command: | command: |
curl -sL firebase.tools | bash curl -sL firebase.tools | bash
# Save cache for firebase tools
- save_cache:
paths:
- .firebase/emulator
- ~/.cache/firebase/emulators/
key: emulator-cache-v1-{{ epoch }}
# Then start firebase emulator in the background # Then start firebase emulator in the background
- run: - run:
name: Start firebase emulator name: Start firebase emulator
@@ -92,6 +114,30 @@ jobs:
# Then publish the results of the Instrumentation tests! # Then publish the results of the Instrumentation tests!
- store_test_results: - store_test_results:
path: app/build/outputs/androidTest-results/connected path: app/build/outputs/androidTest-results/connected
# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
# Below is the definition of your job to build and test your app, you can rename and customize it as you want.
build-and-test:
# Parameters used for determining
parameters:
flavour:
type: string
default: "Driver"
# These next lines define the Android machine image executor.
# See: https://circleci.com/docs/2.0/executor-types/
executor:
name: android/android-machine
tag: 2023.05.1
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
# Checkout the code and its submodule as the first step.
- setup_repo
- run_tests:
flavour: << parameters.flavour >>
- run_ui_tests:
flavour: << parameters.flavour >>
# Assemble # Assemble
assemble-and-release: assemble-and-release:
# Parameters used for determining # Parameters used for determining
@@ -103,6 +149,7 @@ jobs:
name: android/android-machine name: android/android-machine
tag: 2023.05.1 tag: 2023.05.1
steps: steps:
- setup_repo
- run: - run:
name: Setup variables for release name: Setup variables for release
command: | command: |

View File

@@ -43,6 +43,8 @@ class DocumentApproverTest : AdminBaseTest() {
fun loginAsAdmin_declineDocumentForDriver_documentDeclined() { fun loginAsAdmin_declineDocumentForDriver_documentDeclined() {
homeAdmin { homeAdmin {
waitUntilDisplayed() waitUntilDisplayed()
// TODO: find a better way to waitw
waitFor(1200)
clickOnItem("kabirmhkhan@gmail.com") clickOnItem("kabirmhkhan@gmail.com")
} }