Skip to content

Commit f63dae9

Browse files
committed
Update docs
1 parent 7d742fc commit f63dae9

4 files changed

Lines changed: 26 additions & 13 deletions

File tree

154 KB
Loading

docs/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
## Project aim
2-
The project is creating an Android version of the original [iOS Soundscape app](https://www.scottishtecharmy.org/soundscape). The app aims to help people with visual impairment explore and navigate the world.
2+
The project is creating an Android version of the original [iOS Soundscape app](https://www.scottishtecharmy.org/soundscape). The app aims to help people with visual impairment explore and navigate the world.
33

44
## For users
5-
We now have an app which has many of the features available which are available in the iOS app. It is still relatively early days in the project, but we have started initial user testing taking place via the Google Play Store. Currently this is 'internal' testing which means that to access the app you're name needs to be on a list of approved testers. If you're interested in helping us with testing please use this [contact form](https://www.scottishtecharmy.org/contact-us) and we'll add you to the list.
5+
We now have a fairly complete app which has the majority of the features available that are in the iOS app. It's been in internal testing and we hope to soon have the app available for Beta testing which means that it will be openly available on the Google Play Store.
66

77
## For developers
88
Documentation for developers is available [here](developers.md).
99

1010
## Localization
11-
We have started using the fantastic [Weblate](https://hosted.weblate.org/projects/soundscape-android/) to help with the localization of the app.
11+
We have started using the fantastic [Weblate](https://hosted.weblate.org/projects/soundscape-android/) to help with the localization of the app. We started off supporting the same languages as supported in iOS, but we have some new strings in the Android app and so there are some missing translations in most languages. All help in adding these, or indeed adding new languages will be gratefully received. A description of how this works can be found [here](https://docs.weblate.org/en/latest/user/translating.html). When you set up a Weblate account, you choose which languages you can translate to and if the Soundscape app doesn't currently support that language, you will have the option of adding that language on the main app [page](https://hosted.weblate.org/projects/soundscape-android/android-app/).

docs/actions.md

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
# Continuous integration actions
22

3-
This document describes the initial GitHGub actions in the repo. They're written by someone new to GitHub, so improvements are always welcome.
3+
This document describes the GitHGub actions in the repo. They're written by someone new to GitHub, so improvements are always welcome.
44

55
## GitHub secrets
6+
7+
We have a number of GitHub secrets which are used to protect the following data:
8+
* Keys used for creating release packages and accessing Google service. These prevent someone else from publishing a build that claimed to be our app.
9+
* The URL and key required to get map tiles from our protomaps server. The aim here is to prevent use of our map tile server by other apps. Our server costs are covered by charities and we simply aim to minimize their costs.
10+
11+
More details follow on each secret here which is useful during setup.
12+
613
### Release build signing
714
The approach to signing in `build-app.yaml` is based on [this description](https://www.droidcon.com/2023/04/04/securely-create-android-release-using-github-actions/).
815

@@ -33,21 +40,30 @@ The `run-test.yaml` action bumps the version number, committing the change back
3340
* PAT_TOKEN - token generated on an admin account which allows write access to public repos.
3441

3542
## Actions
36-
`run-tests.yaml` is the action which is run on each Pull Request. It runs several layers of tests:
43+
### Run tests `run-tests.yaml`
44+
This is the action which is run on each Pull Request. It runs several layers of tests:
3745
* Lint of the repo
3846
* Runs unit tests
3947
* Builds a debug release
4048
* Runs instrumentation tests locally on an emulator
4149

42-
`build-app.yaml` is the action used to build a release and is manually triggered. It's steps are:
50+
Note that because of the way GitHub triggers `run-tests.yaml` it cannot use secrets. This affects tests which use the tile provider which have to be skipped when run in this way. This is straightforward to do - see callers of `tileProviderAvailable()` in the test code.
51+
52+
### Tag and build release `build-app.yaml`
53+
This is the action used to build a release and is manually triggered from the GitHub GUI. It's steps are:
4354
* Bump the version code and name in `app/build.gradle.kts` and commit it back to the repo with a tag containing the version number
4455
* Obtains the `google-service.json` and `keystore.jks` from the secrets.
4556
* Lints the repo
4657
* Runs unit tests
4758
* Builds a debug build APK
4859
* Builds a release build and signs it as an APK and AAB
4960
* Builds the instrumentation tests into an APK
50-
* Uploads the artefacts
51-
* Triggers a run of Firebase instrumentation tests
61+
* Uploads the artifacts
62+
* Triggers a run of Firebase instrumentation tests
63+
* Triggers a run of Firebase robo tests
64+
65+
### Deploy docs `jekyll-gh-pages.yml`
66+
This is the action to build the GitHub Pages documentation site (including this page!). It's triggered whenever there is a changes submitted within the `/docs` directory. To work it needs GitHub Pages to be enabled on the repository and for them to be configured with the Source being GitHub Actions.
5267

53-
`jekyll-gh-pages.yml` is the action to build the GitHub Pages documentation site (including this page!). It's triggered whenever there is a changes submitted within the `/docs` directory. To work it needs GitHub Pages to be enabled on the repository and for them to be configured with the Source being GitHub Actions.
68+
### Nightly build and test `nightly.yaml`
69+
This is similar to the code that tags and builds a release, the main difference being is that it doesn't bump the version number and it only builds a debug version of the app. It does run the instrumentation tests locally followed by the Firebase tests on the release.

docs/developers.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# Developer information
2-
The app is developed using [Android Studio](https://developer.android.com/studio) with the majority of the app code written in Kotlin.
3-
4-
## Progress
5-
We now have an app which has many of the features available which are available in the iOS app, though it is still relatively early days in the project.
2+
The app is developed using [Android Studio](https://developer.android.com/studio) with the majority of the app code written in Kotlin.
63

74
## Get started
85
The quickest way to get started building the app is to run Android Studio and select `File/New/Project from version control` from the menu. Select `Git` as the version control and paste in the HTTPS code link for this project from above. Click on Clone and the project will download, open and initialize ready to build.

0 commit comments

Comments
 (0)