|
|
@@ -0,0 +1,33 @@
|
|
|
+# Developing Unlauncher
|
|
|
+
|
|
|
+## Building a release
|
|
|
+
|
|
|
+Building an Unlauncher release is straightforward.
|
|
|
+
|
|
|
+1. Push a tag to GitHub (e.g. `1.2.1`) from the latest commit on the `master` branch
|
|
|
+ 1. Make sure that the `versionName` in the [build.gradle.kts](./build.gradle.kts) matches the tag that you are pushing
|
|
|
+1. Add release notes to the draft Release on GitHub that was created by the CI and publish the release
|
|
|
+1. Prepare for the next release by incrementing the `versionCode` and `versionName` in the [build.gradle.kts](./build.gradle.kts) file
|
|
|
+1. Monitor the [F-Droid build status](#checking-f-droid-build-status) to make sure the tag is successfully published (can take several days depending on the build queue)
|
|
|
+
|
|
|
+## Building a beta release
|
|
|
+
|
|
|
+> A beta release should be published ahead of an official release any time there are major changes to the app or the build process.
|
|
|
+
|
|
|
+Unfortunately, F-Droid does not have an automatic process for triggering "beta" releases like it does for normal automatic updates [yet](https://gitlab.com/fdroid/fdroidserver/-/issues/161).
|
|
|
+However, an F-Droid user will only be prompted to upgrade an app (or have the app be auto-upgraded) if their locally installed app has a version/code that is less than the `CurrenVersion`/`CurrentVersionCode` defined in the [fdroiddata yml config file](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/com.jkuester.unlauncher.yml).
|
|
|
+
|
|
|
+So, creating a beta release for Unlauncher requires the following steps:
|
|
|
+
|
|
|
+1. Push a beta tag to GitHub (e.g. `2.0.0-beta.1`)
|
|
|
+ 1. _Do not_ update the `versionName` in the [build.gradle.kts](./build.gradle.kts) file to match the beta tag name since this will trigger a normal release in F-Droid
|
|
|
+1. Delete the draft Release on GitHub for the beta tag that was created by the CI
|
|
|
+1. Raise a MR to [fdroid/fdroiddata](https://gitlab.com/fdroid/fdroiddata) to add a new `Builds` entry for the beta release
|
|
|
+ 1. _Do not_ update the configured `CurrenVersion`/`CurrentVersionCode` since that will trigger a normal release
|
|
|
+1. Prepare for the next release by incrementing the `versionCode` in the [build.gradle.kts](./build.gradle.kts) file (`versionName` should not be updated)
|
|
|
+
|
|
|
+## Checking F-Droid build status
|
|
|
+
|
|
|
+The status for the latest Unlauncher F-Droid build can be found [here](https://f-droid.org/wiki/page/com.jkuester.unlauncher/lastbuild).
|
|
|
+
|
|
|
+A list of all recent F-Droid builds can be found [here](https://f-droid.org/wiki/index.php?title=Special:RecentChanges&days=30&from=&hidebots=0&hideanons=1&hideliu=1&limit=500).
|