ukhsa-collaboration / covid-19-app-android-ag-public

COVID19 Android app
Other
142 stars 31 forks source link

Covid-19 exposure app

Setup

To access the private GitHubPackages repository that hosts the remote configurations for all environments, your Github username has to be set in your global gradle.properties file:

Furthermore, you have to create a personal access token issued by GitHub. For the scope, use at least read:packages and write:packages. This token has to be stored in the Keychain for MacOS users or the Credential Manager for Windows users.

Add your personal access token to the Keychain (MacOS)

  1. Open Keychain Access
  2. Select login from Default Keychain from the left panel
  3. Go to File > New Password Item…
    1. Service (Keychain Item Name) should be ukhsa-collaboration
    2. Account is your Github username
    3. As Password enter your personal access token

Add your personal access token to the Credential Manager (Windows)

First the token has to be stored.

  1. Open Credential Manager
  2. Go to Add a generic credential
    1. Internet or work address should be ukhsa-collaboration
    2. User name is your Github username
    3. As Password enter your personal access token

To enable PowerShell to read from the Credential Manager, the CredentialManager module needs to be installed.

  1. Open a PowerShell instance with Administrator privileges
  2. Enter Install-Module -Name CredentialManager
  3. (optional) Troubleshooting
    1. Install-Module uses NuGet. If NuGet is not pre-installed, install it with Install-PackageProvider -Name NuGet from PowerShell
    2. Installing NuGet might fail due to inappropriate TLS settings. Enforcing TLS 1.2 to install NuGet fixes this potential issue: Enter [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 into PowerShell to enforce usage of TLS 1.2

Optional: Setup path to isolation model in global gradle.properties

In order to get a direct link to the related isolation rule in case of a failing isolation test, you need to add the path to the repo hosting the rules in the global gradle.properties file:

Dev actions

  1. Device setup

    Make sure all animations are turned off on the device (not an emulator) that is running the tests. https://developer.android.com/training/testing/espresso/setup#set-up-environment

  2. Run linter:

    ./gradlew ktlintFormat
  3. Run build and tests:

    ./gradlew