build(homebrew): reduce test duplication and add test coverage for macOS - #5331
Merged
Merged
Conversation
ReenigneArcher
marked this pull request as draft
June 24, 2026 20:43
Bundle ReportBundle size has no change ✅ |
ReenigneArcher
force-pushed
the
build/homebrew/reduce-test-duplication
branch
from
June 24, 2026 21:20
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 15395 -3147
- Partials 1643 3120 +1477
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Harness.
|
ReenigneArcher
force-pushed
the
build/homebrew/reduce-test-duplication
branch
3 times, most recently
from
June 24, 2026 23:38
c199f9e to
adf38fc
Compare
ReenigneArcher
force-pushed
the
build/homebrew/reduce-test-duplication
branch
from
June 25, 2026 00:08
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.
ReenigneArcher
marked this pull request as ready for review
June 25, 2026 02:24
ReenigneArcher
force-pushed
the
build/homebrew/reduce-test-duplication
branch
2 times, most recently
from
June 25, 2026 02:45
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.
ReenigneArcher
force-pushed
the
build/homebrew/reduce-test-duplication
branch
from
June 25, 2026 02:47
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.
ReenigneArcher
force-pushed
the
build/homebrew/reduce-test-duplication
branch
3 times, most recently
from
June 25, 2026 12:05
edb4d1f to
47b8a67
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.
ReenigneArcher
force-pushed
the
build/homebrew/reduce-test-duplication
branch
from
June 25, 2026 13:02
47b8a67 to
a02a553
Compare
|
This was referenced Sep 7, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
Try to reduce duplication in homebrew builds. Additionally adds test coverage for macOS homebrew builds using lcov (instead of gcovr). gcovr is still used on Linux though.
Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage