Skip to content

Conversation

@BarbossHack
Copy link

First time contributor checklist

Contributor checklist

  • github action runner, ubuntu-latest
  • My contribution is fully baked and ready to be merged as is
  • I ensure that all the open issues my contribution fixes are mentioned in the commit message of my first commit using the Fixes #1234 syntax

Description

Fix reproducible-build github workflow.

  1. Rename workflow

The current name, “Reproducible Build Check,” is misleading; people might think this workflow actually checks the reproducibility of the Signal APK.

  1. Fix the Docker memory exhaustion issue

Actually, the Docker build is consuming too much RAM (as you can see in all the last runs), which causes the GitHub Actions VM kernel to kill the Docker daemon (OOM killer).

This can be fixed with the following adjustments:

  • --memory=12g: Limits the container's RAM usage to 12GB. Actual Github Action memory limit is 16GB (but only 14GB available).

  • --no-daemon: Runs Gradle without a background daemon process.

  • --max-workers=1: Limits parallel task workers to 1; runs tasks sequentially to reduce memory usage.

  • -Dorg.gradle.jvmargs="-Xmx4g -XX:MaxMetaspaceSize=512m": Sets JVM args for Gradle process: max heap 4GB, max metaspace 512 MB.

  • -Dkotlin.compiler.execution.strategy=in-process: Runs Kotlin compiler in the same JVM process as Gradle (reduce memory usage).

You can see a successfull workflow here: https://github.com/BarbossHack/Signal-Android/actions/runs/21552219583

Note that this does not affect the reproduciblity, all these successfull reproducible checks were made with these settings.

@BarbossHack BarbossHack force-pushed the reproducible-workflow branch from 06d2b08 to ed5dfbb Compare January 31, 2026 23:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant