Nightly build of deb package

Hello,

I think an automated nightly / snapshot build of deb package would worth it. It would enable to quickly test bugfixes and to upgrade / revert ‘beta’ versions for “early testers” end-users using apt built-in features.

For instance, today @koan fixed a problem in a python script in rhasspyhermes but I’m not able to test it as a debian package user (it seems to me that the debian package does not give access to python source code where I could have added manually the new source code as a workaround).

Would it be possible to launch each night the “build deb package” stuff and to make the resulting package available somewhere ? (for instance using a github action building the deb package and creating an automated release tagged as ‘YYYYMMDD_snapshot’, or maybe just point out the packages as artifacts resulting from the action)

Up :slight_smile:

@synesthesiam are you aware of continuous integration capability of github ?

Basically it would consist in parametering github to run the build scripts on runners at every commit on a branch, let’s say “master”, to generate the deb package. If I understand correctly, actions and some time of runners are offered to public projects.

They are already used for publishing new versions to pip aswell as code quality checks…
If you find a easy way to do this like a example file, it will be more likely to be implemented. I don’t think it has a high priority at the moment.

Hi @farfade, I’d certainly like to do this at some point. We’re using GitHub actions to build some things already, but I’ve run into problems with the multi-architecture builds (amd64 + ARM 6/7/8).

Rhasspy needs docker buildx and an unfortunately convoluted Dockerfile because Ubuntu/Debian is not officially supported via Docker on armv6l (Pi 0/1). Check out Dockerfile.debian and the scripts/build-debian.sh script if you want to see how the Debian packages are currently built.

The complexity is even worse since I’m using a custom pre-processor to add apt and pip proxies so I can avoid downloading 100’s of MB every time I build from scratch :confused: