Open zachfeldman opened 1 year ago
@JohnAZoidberg all good suggestions! I've implemented them all. Put the new release
action into a separate .yml
/action, thinking we could run it only whenever a release branch is pushed (starting in release/) or on some other trigger vs on every single build, if you'd like. We could also merge this into software.yml
or firmware.yml
if preferred.
@JohnAZoidberg same question here! (Although this is currently just merging into my other branch :))
Closes #47 .
This adds a very simple packaging process and
systemd
service file for theinputmodule-rs
to run. I have it running theledmatrix
by default now but the idea is to quickly iterate on this to a more general service to take commands viadbus
or similar as we've discussed!For now, it generally works. To cut a release, run
./release.sh
. It'll installfpm
(https://github.com/jordansissel/fpm) if you're missing it and use it to package up the binary that cargo builds into a.deb
.Once you install the package with
dpkg -i <package-name>.deb
, it'll run a postinstall script to install theudev
rule and it will automatically add thesystemd
service and start it. It should persist between reboots.Some other things to consider:
release.sh
as part of the build, eventually convert it to aMakefile
, or eventually use something likebazel
to run the build and packaging process if we want to get really fancy.debs
, but I included one to easily try installing it withdpkg
.rpm
for RHEL-based distros eventually