Skip to content

Commit

Permalink
fix(ci): different brew for PRs
Browse files Browse the repository at this point in the history
  • Loading branch information
Hazer committed May 23, 2024
1 parent dfc56f0 commit 4af3cbb
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -601,12 +601,14 @@ jobs:
branch="${{ github.ref_name }}"
commit=${{ github.sha }}
default_branch="${{ github.event.repository.default_branch }}"
is_pr=OFF
else
echo "This is a PR event"
clone_url=${{ github.event.pull_request.head.repo.clone_url }}
branch="${{ github.event.pull_request.head.ref }}"
commit=${{ github.event.pull_request.head.sha }}
default_branch="${{ github.event.pull_request.head.repo.default_branch }}"
is_pr=ON
fi
echo "Branch: ${branch}"
echo "Clone URL: ${clone_url}"
Expand All @@ -620,6 +622,7 @@ jobs:
-DGITHUB_CLONE_URL="${clone_url}" \
-DGITHUB_DEFAULT_BRANCH="${default_branch}" \
-DSUNSHINE_CONFIGURE_HOMEBREW=ON \
-DSUNSHINE_HOMEBREW_PR=is_pr \
-DSUNSHINE_CONFIGURE_ONLY=ON \
..
cd ..
Expand Down
6 changes: 5 additions & 1 deletion cmake/prep/special_package_configuration.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ if (APPLE)
configure_file(packaging/macos/Portfile Portfile @ONLY)
endif()
if(${SUNSHINE_CONFIGURE_HOMEBREW})
configure_file(packaging/macos/sunshine.rb sunshine.rb @ONLY)
if(${SUNSHINE_HOMEBREW_PR})
configure_file(packaging/macos/sunshine_pr.rb sunshine.rb @ONLY)
else()
configure_file(packaging/macos/sunshine.rb sunshine.rb @ONLY)
endif()
endif()
elseif (UNIX)
# configure the .desktop file
Expand Down
68 changes: 68 additions & 0 deletions packaging/macos/sunshine_pr.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
require "language/node"

class @PROJECT_NAME@ < Formula
desc "@PROJECT_DESCRIPTION@"
homepage "@PROJECT_HOMEPAGE_URL@"
url "@GITHUB_CLONE_URL@", branch: "@GITHUB_BRANCH@"
version "@PROJECT_VERSION@"
license all_of: ["GPL-3.0-only"]
head "@GITHUB_CLONE_URL@", branch: "@GITHUB_DEFAULT_BRANCH@"

depends_on "boost" => :build
depends_on "cmake" => :build
depends_on "node" => :build
depends_on "pkg-config" => :build
depends_on "curl"
depends_on "miniupnpc"
depends_on "openssl"
depends_on "opus"

def install
ENV["BRANCH"] = "@GITHUB_BRANCH@"
ENV["BUILD_VERSION"] = "@BUILD_VERSION@"
ENV["COMMIT"] = "@GITHUB_COMMIT@"

args = %W[
-DBUILD_WERROR=ON
-DCMAKE_INSTALL_PREFIX=#{prefix}
-DOPENSSL_ROOT_DIR=#{Formula["openssl"].opt_prefix}
-DSUNSHINE_ASSETS_DIR=sunshine/assets
-DSUNSHINE_BUILD_HOMEBREW=ON
-DTESTS_ENABLE_PYTHON_TESTS=OFF
]
system "cmake", "-S", ".", "-B", "build", *std_cmake_args, *args

cd "build" do
system "make", "-j"
system "make", "install"
bin.install "tests/test_sunshine"
end
end

service do
run [opt_bin/"sunshine", "~/.config/sunshine/sunshine.conf"]
end

def caveats
<<~EOS
Thanks for installing @PROJECT_NAME@!
To get started, review the documentation at:
https://docs.lizardbyte.dev/projects/sunshine/en/latest/
Sunshine can only access microphones on macOS due to system limitations.
To stream system audio use "Soundflower" or "BlackHole".
Gamepads are not currently supported on macOS.
EOS
end

test do
# test that the binary runs at all
system "#{bin}/sunshine", "--version"

# run the test suite
# cannot build tests with python tests because homebrew destroys the source directory
system "#{bin}/test_sunshine", "--gtest_color=yes"
end
end

0 comments on commit 4af3cbb

Please sign in to comment.