Closed rnauber closed 5 years ago
I think HTTP is the best solution here. What does the file need to look like? Where is this configured?
Well, it is configured in your F-Droid recipe: https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/io.anuke.mindustry.yml#L69
An example for an app using the HTTP update mode can be found here: https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/apps.amine.bou.readerforselfoss.yml#L416
With that url containing the current version code/name: https://www.amine-bou.fr/version.txt
F-Droid is able to match the values through a regex from the url.
So, we could use something like:
UpdateCheckMode: HTTP
UpdateCheckData: https://raw.githubusercontent.com/Anuken/MindustryBuilds/master/version.txt|versionCode=(.*)|.|versionName=(.*)
...and have the Travis/Github CI run
echo versionName=${RELEASE_TAG}$'\n'versionCode=${RELEASE_TAG:1} > version.txt
and commit to the MindustryBuilds repository with that text file.
When are the HTTP builds triggered? What needs to be done to signal that the version file is ready?
Yes, that would work.
echo versionName=${RELEASE_TAG}$'\n'versionCode=${RELEASE_TAG:1} > version.txt
This has to yield something like this:
versionName=4-fdroid-92
versionCode=92
so what about this:
echo versionName=4-fdroid-${RELEASE_TAG:1}$'\n'versionCode=${RELEASE_TAG:1} > version.txt
That's fine, although I'm not sure how I feel about hard-coding the 4
.
When are the HTTP builds triggered?
They are triggered periodically, maybe once a day.
What needs to be done to signal that the version file is ready?
Nothing. The url is checked for a VersionCode larger than the one present on F-Droid:
https://gitlab.com/fdroid/fdroidserver/blob/master/fdroidserver/checkupdates.py#L462
That's fine, although I'm not sure how I feel about hard-coding the
4
. Hm, maybe you can extract it from somewhere...
And the file could be called "version_fdroid.txt", since it contains the fdroid prefix...
@Anuken if you prepare the version file, I could test the update mechanism locally and submit a PR to F-Droid, if you like...
I've set up the file and added the script mentioned to Travis, so it should be ready for testing now.
Great! It seems to work!
Is it intentional that you use 4-fdroid-v92
instead of 4-fdroid-92
?
If so, I would adapt to that and submit a PR to F-Droid...
No, that wasn't intentional. I'll change it.
No, that wasn't intentional. I'll change it.
Ok, but someone with a hardhat on messed it up afterwards :) https://github.com/Anuken/MindustryBuilds/commit/f68948e2a991e7a8222fefaf93365b86e50061ae
Strange; it looks like my check for the tag presence didn't work correctly. Should be fixed now.
I submitted an PR to F-Droid: https://gitlab.com/fdroid/fdroiddata/merge_requests/5456
Thanks for whipping this up so fast!
@Anuken any ideas why it fails to build? https://gitlab.com/fdroid/fdroiddata/merge_requests/5456#note_216659300
So we can't really automate this, each version needs the "right hash" to build?
No, you just can't build 92 anymore since Arc has broken compatiblity since then. As long as each build is made shortly after release, there shouldn't be a problem.
Either way, I'm planning on adding a pre-commit hook to update the Arc hash and fix the build issue for good.
EDIT: Static hash added as part of b1edaa14084adb9d30475950f8b3d0a23f7c06ed. This does not apply retroactively, so you still won't be able to build v92.
@Anuken now that those things are fixed, when are you planning to release v93? I am asking, because there is no working version on F-Droid at the moment, what do you think?
I was planning on releasing 93 once the F-Droid update PR was merged, but I suppose it doesn't really matter since the automatic build can trigger even if the PR is merged after release (?).
@Anuken Yes, once https://gitlab.com/fdroid/fdroiddata/merge_requests/5456 is merged, next cycle after you tag and release, the new version will get picked up.
@Anuken: Great news, v93 is released! Unfortunately, I get this error:
INFO: Using git version 2.20.1
INFO: Building version 4-fdroid-93 (93) of io.anuke.mindustry
INFO: Getting source for revision v93
INFO: Creating local.properties file at build/io.anuke.mindustry/local.properties
INFO: Creating local.properties file at build/io.anuke.mindustry/android/local.properties
INFO: Cleaned build.gradle of keysigning configs at build/io.anuke.mindustry/android/build.gradle
INFO: Running 'prebuild' commands in build/io.anuke.mindustry/android
INFO: Cleaning Gradle project...
INFO: Scanning source for common problems...
INFO: Removing shared library at android/libs/armeabi-v7a/libgdx-freetype.so
INFO: Removing shared library at android/libs/armeabi-v7a/libgdx.so
INFO: Removing shared library at android/libs/x86/libgdx-freetype.so
INFO: Removing shared library at android/libs/x86/libgdx.so
INFO: Removing shared library at android/libs/armeabi/libgdx-freetype.so
INFO: Removing shared library at android/libs/armeabi/libgdx.so
INFO: Removing shared library at android/libs/arm64-v8a/libgdx-freetype.so
INFO: Removing shared library at android/libs/arm64-v8a/libgdx.so
INFO: Removing shared library at android/libs/x86_64/libgdx-freetype.so
INFO: Removing shared library at android/libs/x86_64/libgdx.so
INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
INFO: Creating source tarball...
INFO: Building Gradle project...
ERROR: Could not build app io.anuke.mindustry: Build failed for io.anuke.mindustry:4-fdroid-93
==== detail begin ====
Found 5.5 via distributionUrl
Running /home/olg/.cache/fdroidserver/gradle/5.5/bin/gradle assembleRelease
> Configure project :
Compiling with build: 'custom build'
> Configure project :android
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /home/olg/scratch/android/fdroiddata/build/io.anuke.mindustry/android.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
> Task :annotations:compileJava
> Task :annotations:processResources
> Task :annotations:classes
> Task :annotations:jar
> Task :core:preGen UP-TO-DATE
> Task :core:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':core:compileJava'.
> Could not resolve all files for configuration ':core:compileClasspath'.
> Could not find com.github.Anuken.Arc:arc-core:null.
Searched in the following locations:
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://jitpack.io/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://jitpack.io/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://jcenter.bintray.com/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://jcenter.bintray.com/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
Required by:
project :core
> Could not find com.github.Anuken.Arc:freetype:null.
Searched in the following locations:
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://jitpack.io/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://jitpack.io/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://jcenter.bintray.com/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://jcenter.bintray.com/com/github/Anuken/Arc/freetype/null/freetype-null.jar
Required by:
project :core
> Could not find com.github.Anuken.Arc:arcnet:null.
Searched in the following locations:
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://jitpack.io/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://jitpack.io/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://jcenter.bintray.com/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://jcenter.bintray.com/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
Required by:
project :core
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 15s
4 actionable tasks: 4 executed
==== detail end ====
INFO: Build for app io.anuke.mindustry failed:
Build failed for io.anuke.mindustry:4-fdroid-93
==== detail begin ====
Found 5.5 via distributionUrl
Running /home/olg/.cache/fdroidserver/gradle/5.5/bin/gradle assembleRelease
> Configure project :
Compiling with build: 'custom build'
> Configure project :android
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /home/olg/scratch/android/fdroiddata/build/io.anuke.mindustry/android.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
> Task :annotations:compileJava
> Task :annotations:processResources
> Task :annotations:classes
> Task :annotations:jar
> Task :core:preGen UP-TO-DATE
> Task :core:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':core:compileJava'.
> Could not resolve all files for configuration ':core:compileClasspath'.
> Could not find com.github.Anuken.Arc:arc-core:null.
Searched in the following locations:
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://jitpack.io/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://jitpack.io/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
- https://jcenter.bintray.com/com/github/Anuken/Arc/arc-core/null/arc-core-null.pom
- https://jcenter.bintray.com/com/github/Anuken/Arc/arc-core/null/arc-core-null.jar
Required by:
project :core
> Could not find com.github.Anuken.Arc:freetype:null.
Searched in the following locations:
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://jitpack.io/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://jitpack.io/com/github/Anuken/Arc/freetype/null/freetype-null.jar
- https://jcenter.bintray.com/com/github/Anuken/Arc/freetype/null/freetype-null.pom
- https://jcenter.bintray.com/com/github/Anuken/Arc/freetype/null/freetype-null.jar
Required by:
project :core
> Could not find com.github.Anuken.Arc:arcnet:null.
Searched in the following locations:
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- file:/home/olg/.m2/repository/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://repo.maven.apache.org/maven2/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://oss.sonatype.org/content/repositories/snapshots/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://oss.sonatype.org/content/repositories/releases/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://jitpack.io/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://jitpack.io/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
- https://jcenter.bintray.com/com/github/Anuken/Arc/arcnet/null/arcnet-null.pom
- https://jcenter.bintray.com/com/github/Anuken/Arc/arcnet/null/arcnet-null.jar
Required by:
project :core
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 15s
4 actionable tasks: 4 executed
==== detail end ====
It seems related to the new mechanism for fixing the arc dependency...
It appears that the gradle.properties
file is not being loaded correctly, but that doesn't make much sense, considering I can build it just fine with the right hash after cloning the repo.
Also, you don't seem to be passing the build version to Gradle...? I see Compiling with build: 'custom build'
in the logs.
It successfully builds: https://gitlab.com/fdroid/fdroiddata/merge_requests/5456
INFO: Creating output directory
git version 2.20.1
INFO: Using git version 2.20.1
INFO: Building version 4-fdroid-93 (93) of io.anuke.mindustry
INFO: Getting source for revision v93
INFO: Creating local.properties file at build/io.anuke.mindustry/local.properties
INFO: Creating local.properties file at build/io.anuke.mindustry/android/local.properties
INFO: Cleaned build.gradle of keysigning configs at build/io.anuke.mindustry/android/build.gradle
INFO: Running 'prebuild' commands in build/io.anuke.mindustry/android
+ echo androidBuildCode=93
+ echo build=93
+ echo modifier=beta
+ echo type=fdroid
+ echo number=4
+ echo buildversion=93
+ echo versionType=fdroid
+ grep archash ../gradle.properties
INFO: Cleaning Gradle project...
Found 5.5 via distributionUrl
Running /home/olg/.cache/fdroidserver/gradle/5.5/bin/gradle clean
> Configure project :
Compiling with build: 'custom build'
> Configure project :android
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /home/olg/scratch/android/fdroiddata/build/io.anuke.mindustry/android.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
> Task :android:clean UP-TO-DATE
BUILD SUCCESSFUL in 4s
1 actionable task: 1 up-to-date
INFO: Scanning source for common problems...
INFO: Removing shared library at android/libs/armeabi-v7a/libgdx-freetype.so
INFO: Removing shared library at android/libs/armeabi-v7a/libgdx.so
INFO: Removing shared library at android/libs/x86/libgdx-freetype.so
INFO: Removing shared library at android/libs/x86/libgdx.so
INFO: Removing shared library at android/libs/armeabi/libgdx-freetype.so
INFO: Removing shared library at android/libs/armeabi/libgdx.so
INFO: Removing shared library at android/libs/arm64-v8a/libgdx-freetype.so
INFO: Removing shared library at android/libs/arm64-v8a/libgdx.so
INFO: Removing shared library at android/libs/x86_64/libgdx-freetype.so
INFO: Removing shared library at android/libs/x86_64/libgdx.so
INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
INFO: Creating source tarball...
INFO: Building Gradle project...
Found 5.5 via distributionUrl
Running /home/olg/.cache/fdroidserver/gradle/5.5/bin/gradle assembleRelease
> Configure project :
Compiling with build: 'custom build'
> Configure project :android
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /home/olg/scratch/android/fdroiddata/build/io.anuke.mindustry/android.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
> Task :annotations:compileJava
> Task :annotations:processResources
> Task :annotations:classes
> Task :annotations:jar
> Task :core:preGen UP-TO-DATE
> Task :core:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
> Task :core:processResources NO-SOURCE
> Task :core:classes
> Task :core:jar
> Task :android:preBuild UP-TO-DATE
> Task :android:preReleaseBuild
> Task :android:compileReleaseAidl NO-SOURCE
> Task :android:compileReleaseRenderscript
> Task :android:checkReleaseManifest
> Task :android:generateReleaseBuildConfig
> Task :android:prepareLintJar
> Task :android:generateReleaseSources
> Task :android:javaPreCompileRelease
> Task :android:mainApkListPersistenceRelease
> Task :android:generateReleaseResValues
> Task :android:generateReleaseResources
> Task :android:mergeReleaseResources
> Task :android:createReleaseCompatibleScreenManifests
> Task :android:processReleaseManifest
> Task :android:processReleaseResources
> Task :android:compileReleaseJavaWithJavac
> Task :android:compileReleaseSources
> Task :android:lintVitalRelease
> Task :android:mergeReleaseShaders
> Task :android:compileReleaseShaders
> Task :android:generateReleaseAssets
> Task :android:mergeReleaseAssets
> Task :android:signingConfigWriterRelease
> Task :android:checkReleaseDuplicateClasses
D8: synthesized for lambda desugaring: Type `io.anuke.mindustry.core.Platform$-CC` was not found, it is required for default or static interface methods desugaring of `boolean io.anuke.mindustry.core.-$$Lambda$Platform$e8PK4P9QE353hm5ITYEwkS3HSwU.test(java.lang.Object)`
D8: synthesized for lambda desugaring: Type `io.anuke.mindustry.entities.traits.BuilderTrait$-CC` was not found, it is required for default or static interface methods desugaring of `void io.anuke.mindustry.entities.traits.-$$Lambda$BuilderTrait$qlYRe74YdKaSMgPG1AOmS5f_0ao.run()`
> Task :android:transformClassesWithDexBuilderForRelease
> Task :android:transformDexArchiveWithExternalLibsDexMergerForRelease
> Task :android:transformDexArchiveWithDexMergerForRelease
> Task :android:mergeReleaseJniLibFolders
> Task :android:transformNativeLibsWithMergeJniLibsForRelease
> Task :android:processReleaseJavaRes NO-SOURCE
> Task :android:transformResourcesWithMergeJavaResForRelease
> Task :android:packageRelease
> Task :android:assembleRelease
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.5/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 1m 15s
31 actionable tasks: 31 executed
INFO: Successfully built version 4-fdroid-93 of io.anuke.mindustry
INFO: success: io.anuke.mindustry
INFO: Finished
INFO: 1 build succeeded
Is that it, then? Anything else that needs to be done?
Well it almost works! The F-Droid updater automatically picked v94 up, but failed with: https://f-droid.org/wiki/page/io.anuke.mindustry/lastbuild
INFO: Removing shared library at android/libs/x86/libgdx-freetype.so
INFO: Removing shared library at android/libs/arm64-v8a/libgdx.so
INFO: Removing shared library at android/libs/arm64-v8a/libgdx-freetype.so
INFO: Creating source tarball...
INFO: Building Gradle project...
INFO: Successfully built version 4-fdroid-94 of io.anuke.mindustry
ERROR: Could not build app io.anuke.mindustry: Unexpected version/version code in output; APK: '4-fdroid-94' / '95', Expected: '4-fdroid-94' / '94'
which could be fixed by:
diff --git a/metadata/io.anuke.mindustry.yml b/metadata/io.anuke.mindustry.yml
index fd60906630..882e1d0166 100644
--- a/metadata/io.anuke.mindustry.yml
+++ b/metadata/io.anuke.mindustry.yml
@@ -63,7 +63,7 @@ Builds:
gradle:
- yes
prebuild:
- - echo "androidBuildCode=$$VERCODE$$" > ../core/assets/version.properties
+ - echo "androidBuildCode=$(expr $$VERCODE$$ - 1)" > ../core/assets/version.properties
- echo "build=$$VERCODE$$" >> ../core/assets/version.properties
- echo "modifier=beta" >> ../core/assets/version.properties
- echo "type=fdroid" >> ../core/assets/version.properties
@Anuken: should I submit a PR to F-Droid or are you planning on providing some way to override the existing mechanism?
Just fixed it by switching the system to only increment the version automatically when I build it.
Thanks, that looks good to me. Lets see if the next release builds automatically and then we may celebrate the closing of this issue...
Any reason why the updates seem to be taking so long? I released 96 a few days ago, and the version file seems up-to-date, but 96 isn't being displayed in the lastBuild. Shouldn't it trigger more often than every two days?
Hm, maybe something was stuck at F-Droid.. But v95 finally made it through, so the auto update seems to work! So I will close this issue, if I may...
Thank you very much @Anuken, despite the severe sleep deprivation that your game is causing :)
This is the almost live feed of the build server, so if a cycle was not run AFTER your tagging, it's not there yet.
This is not a CI, it has a human element, eg. The signing step is done on an air-gapped machine, so there's no stable timeframe, no eta.
Hi, now that Mindustry is on F-Droid and the descriptions/screenshots are automatically deployed, the last missing piece to full automation is auto updates: https://f-droid.org/en/docs/Build_Metadata_Reference/#UpdateCheckMode Unfortunately, the do not work for Mindustry out of the box, because the android version code and name are dynamic: https://github.com/Anuken/Mindustry/blob/fb4faa15bbd133f455b4af16a881480528905ac2/android/build.gradle#L79
I see two solutions: 1) explicitly putting a version code and a version name in the build.gradle file 2) use F-Droids "HTTP" auto update mechanism: an URL is parsed for the version code and name. Maybe a github workflow could automatically generate that file on every release.
@Anuken: What do do you think?