Hi Dirk.

On 10/12/23 16:17, Dirk Hohndel wrote:
It also seems to be possible to create release with an indicative name without having to add it as a tag in the repository - at least when using GitHub actions to create the release:


https://github.com/betaflight/betaflight-configurator/blob/07da3398426b5d6f1e0bd74d37f0e6f0cd622c39/.github/workflows/nightly.yml#L55

Interesting - everything I read in the documentation seemed to imply that this really needed a tag. How odd.


This might be related to the fact that the setup in Betaflight uses a GitHub action to publish the releases into a separate '...-nightly' repository to keep them separate from the less frequent 'curated' releases - but we might want to do something similar.


This is how the releases created by this look like:


https://github.com/betaflight/betaflight-configurator-nightlies/releases

I think that would be an excellent outcome.

Would you be willing to add this to our GitHub Actions? Or would you prefer if I tried my hand on this (that won't happen for a day or two - I just came back from Japan and have a bunch of other stuff to catch up on


I can certainly make a start on it.


This is only a problem if you have to uninstall the app and then re-install - like when moving from the store app to a sideloaded version and encountering a new signing key because of this. If we manage to use the same signing for all of our nightly builds people will be able to upgrade between them without a uninstall / reinstall, and avoid having to re-authenticate and re-download.

IIRC the builds are completely unsigned. At a minimum we'd have to create a release counter that's monotonic - it seems that the setup for betaflight-configurator already has that somewhere... I haven't looked.


From what I can tell an ad-hoc key is generated whenever the dockerised build system for the APK is set up for local builds - but I haven't checked if this applies to the builds on GitHub as well, and if this key is persisted between builds. We might want to add a 'nightly key' as a GitHub secret to facilitate upgrades of the sideloaded version.


But I'm not planning to do any UI changes until we have things working with Qt6 which will be a while.

Maybe a 'quick win' temporary fix for this would be to add a warning about this to the 'Testing cloud credentials' prompt?

Sure, that seems straight forward enough


I can propose something.


In summary:

- we need a monotonic, automatic release counter


Something like this is actually provided by GitHub, in the form of a build number counter for each action.


- we should use that for all releases, regardless of platform


Agreed. I think the easiest will be to create a separate GitHub action that is triggered by the completion of all of the builds, and then goes and collects all of the artifacts and turns them into a release.


- we should switch to the date / counter naming scheme on all platforms


Easiest to do this in the 'release action' above.


- we could add a warning to the mobile builds that there may be a fairly long time where the app will look dead

Am I missing anything?
Would you be willing / interested to handle any (or all 😇) of that.


I can look into most of this - if we want to move to releasing the 'nightly' builds in a separate repository then you will have to create the repository for me, and I might need help to get the access rights for the action to publish to this repository. Re naming this, I could not come up with something that is better in terms of understandability than '-nightlies' for this, even though it is a misnomer as we are considering releasing for every merge of a pull request, and not for 'one build a night' - but maybe somebody else has got a good idea.


Ngā mihi

  Michael Keller
_______________________________________________
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to