-
-
Notifications
You must be signed in to change notification settings - Fork 10.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance CI Workflow: Automate .deb
Package Build and Release for Multiple Distributions
#4427
base: master
Are you sure you want to change the base?
Conversation
Thank you. That looks cool 👍 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 I have many things to do on my TODO list before that, but that would be great to publish .deb with scrvpy releases 👍 |
|
||
- name: Create Release | ||
if: env.release_id == '' | ||
uses: ncipollo/release-action@v1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This adds a dependency from a "random" user in the process, doesn't it? Ditto below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Github actions allow you to use community actions. The one you highlighted uses ncipollo/release-action@v1
to create a release.
You can check the release here: https://github.com/hacksysteam/scrcpy/releases
The workflow file was designed to just create 1 release per push, we can make changes and adapt this to the project requirements. I just tested the bookworm deb file and it works, both server and app are included in the same deb file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll get it fixed.
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! |
We could add deb files for the latest Ubuntu/Debian versions in addition. The GitHub Action script from this PR would need to be adapted to:
But if the static binary works well, it's maybe not necessary (a single version, and .deb would not offer much benefits since they would not auto-update). What would be great is for the package to be provided upstream, but it's not possible anymore due to broken/obsolete android SDK packages in Debian: https://tracker.debian.org/pkg/scrcpy
(The provided binary for Linux is static, so it does not depend on installing FFmpeg, SDL or libusb anymore.) |
Overview
This pull request introduces enhancements to the CI/CD pipeline by automating the build process of
.deb
packages forscrcpy
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
scrcpy
for Debian Bullseye, Bookworm, and Ubuntu Focal..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