build(homebrew): reduce test duplication and add test coverage for macOS#5331
build(homebrew): reduce test duplication and add test coverage for macOS#5331ReenigneArcher wants to merge 5 commits into
Conversation
Bundle ReportBundle size has no change ✅ |
9e04b25 to
c2ebdde
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #5331 +/- ##
==========================================
+ Coverage 18.02% 27.55% +9.53%
==========================================
Files 111 113 +2
Lines 24623 25557 +934
Branches 10903 11232 +329
==========================================
+ Hits 4438 7042 +2604
+ Misses 18542 16573 -1969
- Partials 1643 1942 +299
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Harness.
|
c199f9e to
adf38fc
Compare
adf38fc to
7facca4
Compare
Pin LizardByte/actions/actions/release_homebrew to commit a46850981292c4bbc0c41715f286ad95adaaaf4a (v2026.625.20301) in CI workflows. Replaces previous refs (200eaeb897a2b065a65cb6f16b41077432007490 and fix/release_homebrew/reduce-test-duplication) used by the Validate Homebrew Formula and Upload Homebrew Beta Formula jobs.
5d4ca31 to
cb895b6
Compare
Enable coverage reporting for Homebrew macOS CI jobs and consolidate gcovr usage in the Homebrew formula. Move gcovr to a top-level dependency, remove the duplicated on_linux entry, and add coverage_gcov_executable to pick llvm-cov's gcov on macOS or the GCC gcov on Linux. generate_coverage_report now uses the selected gcov executable and no longer skips macOS; the test harness also always asserts the presence of coverage.xml. Changes affect .github/workflows/ci.yml and packaging/sunshine.rb.
cb895b6 to
7188c6d
Compare
Enable source-based LLVM coverage on macOS and unify test binary handling. Adds SUNSHINE_LLVM_COVERAGE CMake option and LLVM compile/link flags, introduces LLVM_PROFILE_FILE handling, llvm-profdata discovery, and gcovr invocation path for macOS (.profraw -> llvm-profdata flow). Factors out TEST_BINARY constant, updates test invocation and install to use it, and adds checks to ensure profile data and coverage lines exist. Removes the previous macOS llvm formula dependency and replaces gcov-specific options with separate LLVM vs GCC coverage code paths.
2e4fbc5 to
2ae3d9d
Compare
Update CI to upload and consume lcov coverage output and make coverage file configurable per matrix. The workflows now include coverage.lcov in artifacts and expose a matrix coverage_file used by the Codecov step. Refactor packaging/sunshine.rb to support generating LLVM-based lcov on macOS and keep gcov/xml generation on Linux: add constants, new helpers to merge profraw into profdata, export llvm-cov lcov, rewrite source paths to be relative to src/, and validate lcov output. Adjust artifact handling to expect coverage.lcov on macOS and coverage.xml on Linux and update assertions accordingly.
4e9f57b to
edb4d1f
Compare
|




Description
Try to reduce duplication in homebrew builds.
Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage