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:
- gpr.user is your Github username
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)
- Open Keychain Access
- Select login from Default Keychain from the left panel
- Go to File > New Password Item…
- Service (Keychain Item Name) should be ukhsa-collaboration
- Account is your Github username
- As Password enter your personal access token
Add your personal access token to the Credential Manager (Windows)
First the token has to be stored.
- Open Credential Manager
- Go to Add a generic credential
- Internet or work address should be ukhsa-collaboration
- User name is your Github username
- As Password enter your personal access token
To enable PowerShell to read from the Credential Manager, the CredentialManager module needs to be installed.
- Open a PowerShell instance with Administrator privileges
- Enter Install-Module -Name CredentialManager
- (optional) Troubleshooting
- Install-Module uses NuGet. If NuGet is not pre-installed, install it with Install-PackageProvider -Name NuGet from PowerShell
- 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:
isolationModel.repo = https://<insert path to repo here>
Dev actions
-
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
-
Run linter:
./gradlew ktlintFormat
-
Run build and tests:
./gradlew