Add script to release macOS static binary

Provide a prebuilt binary for macOS.

Fixes #1733 <https://github.com/Genymobile/scrcpy/issues/1733>
Fixes #3235 <https://github.com/Genymobile/scrcpy/issues/3235>
Fixes #4489 <https://github.com/Genymobile/scrcpy/issues/4489>
Fixes #5327 <https://github.com/Genymobile/scrcpy/issues/5327>
PR #5515 <https://github.com/Genymobile/scrcpy/pull/5515>

Co-authored-by: Muvaffak Onus <me@muvaf.com>
This commit is contained in:
Romain Vimont 2024-11-22 22:23:27 +01:00
parent 28c372e838
commit a7efb180b9
5 changed files with 144 additions and 0 deletions

View file

@ -165,6 +165,34 @@ jobs:
name: build-win64-intermediate
path: release/work/build-win64/dist-tar/
build-macos:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: |
brew install meson ninja nasm libiconv zlib automake autoconf \
libtool
- name: Build macOS
run: release/build_macos.sh
# upload-artifact does not preserve permissions
- name: Tar
run: |
cd release/work/build-macos
mkdir dist-tar
cd dist-tar
tar -C .. -cvf dist.tar.gz dist/
- name: Upload build-macos artifact
uses: actions/upload-artifact@v4
with:
name: build-macos-intermediate
path: release/work/build-macos/dist-tar/
package-linux:
needs:
- build-scrcpy-server
@ -273,12 +301,49 @@ jobs:
name: release-win64
path: release/output
package-macos:
needs:
- build-scrcpy-server
- build-macos
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download scrcpy-server
uses: actions/download-artifact@v4
with:
name: scrcpy-server
path: release/work/build-server/server/
- name: Download build-macos
uses: actions/download-artifact@v4
with:
name: build-macos-intermediate
path: release/work/build-macos/dist-tar/
# upload-artifact does not preserve permissions
- name: Detar
run: |
cd release/work/build-macos
tar xf dist-tar/dist.tar.gz
- name: Package macos
run: release/package_client.sh macos tar.gz
- name: Upload macos release
uses: actions/upload-artifact@v4
with:
name: release-macos
path: release/output/
release:
needs:
- build-scrcpy-server
- package-linux
- package-win32
- package-win64
- package-macos
runs-on: ubuntu-latest
steps:
- name: Checkout code
@ -308,6 +373,12 @@ jobs:
name: release-win64
path: release/output/
- name: Download release-macos
uses: actions/download-artifact@v4
with:
name: release-macos
path: release/output/
- name: Package server
run: release/package_server.sh