Our CI fails at the :test:android:validateSigningDebug
step when executing ./gradlew build
.
The exception is the following:
java.util.concurrent.ExecutionException: com.android.builder.utils.SynchronizedFile$ActionExecutionException: java.io.IOException: com.android.ide.common.signing.KeytoolException: Failed to create keystore.
That’s the first job where it appears:
https://github.com/libgdx/gdx-video/actions/runs/8492454070/job/23265589900
The CI config: https://github.com/libgdx/gdx-video/blob/74487b01d82bbaf1be09e43bb49f913b3acf5f6c/.github/workflows/gradle.yml
It seems to happen after updating the android gradle plugin, the robovm plugin, and gradle:
https://github.com/libgdx/gdx-video/commit/462e160f58481df2855142b6335419f1c805dd45
Strangely, the CI also couldn’t generate the keystore in the job from the commit:
Run keytool -genkey -v -keystore $HOME/.android/debug.keystore -storetype PKCS12 -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -noprompt -dname "CN=GdxVideo, OU=libGDX, O=libGDX, L=Unknown, ST=Unknown, C=US"
Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,000 days
for: CN=GdxVideo, OU=libGDX, O=libGDX, L=Unknown, ST=Unknown, C=US
[Storing /home/runner/.android/debug.keystore]
keytool error: java.io.FileNotFoundException: /home/runner/.android/debug.keystore (No such file or directory)
java.io.FileNotFoundException: /home/runner/.android/debug.keystore (No such file or directory)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:319)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:259)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:142)
at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:1375)
at java.base/sun.security.tools.keytool.Main.run(Main.java:423)
at java.base/sun.security.tools.keytool.Main.main(Main.java:416)
(Job)
I tried it with creating the directory (commit), but that led to the current error.
I searched for the exception but only found answers that said to create the debug.keystore, but that is already in the workflow. I tried it without creating the debug.keystore without success.