App Release Process

Hello,

does anyone know a way how to automate the release process of an app. My current process involves some manual process:

  • Create a new local copy of the github brunch I want to release.
  • Erase all files, that should not go into the release.
  • Create a tar.gz file out of this and signing it
  • Creating a release manually on github and adding this file to the release and adding some release notes
  • Adding this release in the app store

Of cause I made some local scripts to speed up the process for these steps, but I was hoping that at least some of these steps could be done e.g. directly by github or so.
How are you doing the release process?

Hello @juliushaertl,

can you give some hints?

Most of our apps either have a Makefile that includes an step to build the app or use krankerl. For creating releases on github and uploading them I personally use https://github.com/aktau/github-release. So releasing is basically just the following commands:

  • Build the release package: make appstore or krankerl package
  • Create a release github-release release -u nextcloud -r exampleapp -t v1.0.1
  • Upload the package to the release github-release upload -u nextcloud -r exampleapp -t v1.0.1 -n exampleapp.tar.gz -f ./path/to/exampleapp.tar.gz
  • Publish it to the app store krankerl publish https://github.com/nextcloud/exampleapp/releases/download/v1.0.1/exampleapp.tar.gz (manually when not using krankerl)
3 Likes

Thanks, that helped a lot.

A wrote down my process a while ago, but it’s still the same: https://blog.wuc.me/2018/08/14/nextcloud-app-release-process.html