scrcpy icon indicating copy to clipboard operation
scrcpy copied to clipboard

Enhance CI Workflow: Automate `.deb` Package Build and Release for Multiple Distributions

Open hacksysteam opened this issue 2 years ago • 2 comments

Overview

This pull request introduces enhancements to the CI/CD pipeline by automating the build process of .deb packages for scrcpy across multiple Linux distributions. The updated GitHub Actions workflow builds the packages and publishes them as assets to a GitHub release, streamlining the release process and ensuring consistent delivery of the latest builds to users.

Changes

  • Implemented a matrix strategy in the GitHub Actions workflow to build scrcpy for Debian Bullseye, Bookworm, and Ubuntu Focal.
  • Configured caching for APT packages and Gradle dependencies to speed up the build process.
  • Added steps to automatically create a GitHub release with the commit hash as a tag and upload the built .deb packages to this release.

Testing

The updated workflow has been tested in a fork of the repository, where it successfully built .deb packages and published them to a release. The packages were then downloaded and tested in their respective distributions to confirm their integrity and functionality.

This still might need some more changes, feel free to comment.

Thanks

hacksysteam avatar Nov 15 '23 18:11 hacksysteam

Thank you. That looks cool :+1:

I really need to take the time to read the doc about GitHub actions (my CI knowledge is very limited). By the way, I would like to also build the Windows releases (just executing ./release.sh from the CI), and maybe to build macOS binaries too (later). There were other PR for that in the past, but IIRC there were always unsolved problems for me.

I have many things to do on my TODO list before that, but that would be great to publish .deb with scrvpy releases :+1:

rom1v avatar Nov 16 '23 22:11 rom1v

Looking forward to this PR being merged, I'm running Mint 21.3 (based on Ubuntu 22) and had a lot of issues with building due the ffmpeg/libavcodec version being very outdated - just forked this PR, added focal, started the action and now it works - thanks!

1fexd avatar Apr 18 '24 15:04 1fexd