Remove deterministic filesystem and make it non-deterministic instead

parent 50cb03c0
Pipeline #3341 passed with stages
in 10 minutes and 1 second
......@@ -30,7 +30,7 @@ test_success:
# Consider adding the cap and the device directly to the CI config
- docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./ release-1.0.12
- docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./ release-1.1.7
- triggers
......@@ -88,6 +88,12 @@ You can find a list of tags in Briar's
[source code repository](
The `SYS_ADMIN` capability and the `fuse` device are required,
so the container can build the app inside a `disorderfs`.
We hope to be able to drop this requirement
once this [upstream issue]( is fixed.
\ No newline at end of file
so the container can build the app inside a `disorderfs` which shuffles the filesystem.
## Historical Changes
* Before version `1.1.7`, Briar needed a deterministic files system
to work around an [Android build system bug](
which broke reproducibility.
An [old version of briar-reproducer](
can be used to verify these releases.
......@@ -27,10 +27,10 @@ def main():
reference_apk = "briar-%s.apk" % version
check_call(['wget', '--no-verbose', url, '-O', reference_apk])
# use deterministic file system for building the app
# use non-deterministic file system for building the app to detect issues
if not os.path.exists(BUILD_DIR):
check_call(['disorderfs', '--sort-dirents=yes', '--reverse-dirents=no', REPO_DIR, BUILD_DIR])
check_call(['disorderfs', '--shuffle-dirents=yes', REPO_DIR, BUILD_DIR])
# build the app
check_call(["./gradlew", "--no-daemon", GRADLE_TASK], cwd=BUILD_DIR)
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment