-| <small>CI Builds</small> | <small>Debian</small> | <small>macOS & Ubuntu/LTS</small> |
-|----------------------|:-----------------:|:-----------------------------:|
-| _fdroidserver_ | [![fdroidserver status on Debian](https://gitlab.com/fdroid/fdroidserver/badges/master/build.svg)](https://gitlab.com/fdroid/fdroidserver/builds) | [![fdroidserver status on macOS & Ubuntu/LTS](https://travis-ci.org/f-droid/fdroidserver.svg?branch=master)](https://travis-ci.org/f-droid/fdroidserver) |
-| _buildserver_ | [![buildserver status](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment/badge/icon)](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment) | |
-| _fdroid build --all_ | [![fdroid build all status](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/) | |
+<a name="build-status"></a>
+
+| CI Builds | fdroidserver | buildserver | fdroid build --all | publishing tools |
+|--------------------------|:-------------:|:-----------:|:------------------:|:----------------:|
+| Debian | [![fdroidserver status on Debian](https://gitlab.com/fdroid/fdroidserver/badges/master/build.svg)](https://gitlab.com/fdroid/fdroidserver/builds) | [![buildserver status](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment/badge/icon)](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment) | [![fdroid build all status](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/) | [![fdroid test status](https://jenkins.debian.net/job/reproducible_fdroid_test/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_test/) |
+| macOS & Ubuntu/LTS | [![fdroidserver status on macOS & Ubuntu/LTS](https://travis-ci.org/f-droid/fdroidserver.svg?branch=master)](https://travis-ci.org/f-droid/fdroidserver) | | | |
+
# F-Droid Server
All sorts of other documentation lives there as well.
+### Tests
+
+There are many components to all of the tests for the components in
+this git repo. The most commonly used parts of well tested, while
+some parts still lack tests. This test suite has built over time a
+bit haphazardly, so it is not as clean, organized, or complete as it
+could be. We welcome contributions. Before rearchitecting any parts
+of it, be sure to [contact us](https://f-droid.org/about) to discuss
+the changes beforehand.
+
+
+#### `fdroid` commands
+
+The test suite for all of the `fdroid` commands is in the _tests/_
+subdir. _.gitlab-ci.yml_ and _.travis.yml_ run this test suite on
+various configurations.
+
+* _tests/complete-ci-tests_ runs _pylint_ and all tests on two
+ different pyvenvs
+* _tests/run-tests_ runs the whole test suite
+* _tests/*.TestCase_ are individual unit tests for all of the `fdroid`
+ commands, which can be run separately, e.g. `./update.TestCase`.
+
+
+#### Additional tests for different linux distributions
+
+These tests are also run on various distributions through GitLab CI. This is
+only enabled for `master@fdroid/fdroidserver` because it'll take longer to
+complete than the regular CI tests. Most of the time you won't need to worry
+about them but sometimes it might make sense to also run them for your merge
+request. In that case you need to remove [these lines from
+.gitlab-ci.yml](https://gitlab.com/fdroid/fdroidserver/blob/master/.gitlab-ci.yml#L34-35)
+and push this to a new branch of your fork.
+
+Alternatively [run them
+locally](https://docs.gitlab.com/runner/commands/README.html#gitlab-runner-exec)
+like this: `gitlab-runner exec docker ubuntu_lts`
+
+#### buildserver
+
+The tests for the whole build server setup are entirely separate
+because they require at least 200GB of disk space, and 8GB of
+RAM. These test scripts are in the root of the project, all starting
+with _jenkins-_ since they are run on https://jenkins.debian.net.
+
+
+
### Drozer Scanner
There is a new feature under development that can scan any APK in a
For Debian based distributions:
apt-get install libffi-dev libssl-dev python-docker
+
+## Translation
+
+Everything can be translated. See
+[Translation and Localization](https://f-droid.org/docs/Translation_and_Localization)
+for more info.
+[![translation status](https://hosted.weblate.org/widgets/f-droid/-/fdroidserver/multi-auto.svg)](https://hosted.weblate.org/engage/f-droid/?utm_source=widget)