chiark / gitweb /
Merge branch 'master' into 'master'
[fdroidserver.git] / README.md
index cc6010ccb459e6ab83094f8da95e6d72e5825950..2dc5349bd922e9e730b1d26826c9a30ab207223d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,11 +1,10 @@
-
 <a name="build-status"></a>
 
-| <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/) | |
+| 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
 
@@ -33,13 +32,60 @@ install, and keep track of updates on your device.
 
 ### Installing
 
-There are many was to install _fdroidserver_, they are documented on
+There are many ways to install _fdroidserver_, they are documented on
 the website:
 https://f-droid.org/docs/Installing_the_Server_and_Repo_Tools
 
 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
@@ -54,3 +100,10 @@ Newer versions of docker-py might have this fixed already.
 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)