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?
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
- 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)
Thanks, that helped a lot.