Skip to content

Conversation

F-WRunTime
Copy link
Member

Overview

This PR adds comprehensive macOS testing to the pull request workflow to catch macOS-specific issues early in the development cycle.

Changes

  • Added job to
  • macOS testing includes:
    • Homebrew formula validation using
    • Formula installation from source using
    • Basic functionality testing with for both LLVM and Haskell backends
    • Formula debugging artifacts for troubleshooting

Key Features

  • Non-blocking: Uses to prevent PR failures due to macOS build issues
  • Comprehensive testing: Validates both formula syntax and actual installation
  • Debugging support: Uploads formula artifacts for troubleshooting failed builds
  • Early detection: Catches macOS-specific issues before they reach the release workflow

Future Work

This PR establishes the foundation for macOS PR testing. Future enhancements will include:

  • CloudRepo publishing for PR artifacts to enable proper bottle testing
  • Integration with staging Maven repositories
  • Enhanced error reporting and debugging capabilities

Testing

The macOS testing job will run on all PRs targeting the branch and will not block PR merges if it fails.

Related

  • Addresses macOS build reliability issues in the release workflow
  • Complements the non-blocking macOS testing in the release workflow
  • Provides early warning system for macOS-specific problems

- During release do not be dependent on MacOS Release
- Change from installing specific bottle filename to using wildcard pattern
- Add debugging output to see available files
- Use pattern matching like the original brew-install-bottle script
- This should resolve the 'No formulae or casks found' error

The issue was that brew install was trying to interpret the .tar.gz filename
as a formula name instead of installing the local bottle file.
- Add test-macos-build job to catch macOS build issues during PR testing
- Mirror release workflow's macOS package building and testing logic
- Update all LLVM version references from 15 to 17 for consistency
- Prevent macOS build failures from only being discovered during release

This addresses the macOS build failure in the release workflow by adding
proactive testing in the PR workflow, ensuring issues are caught earlier
in the development cycle.
- Add test-macos-build job to catch macOS build issues during PR testing
- Mirror release workflow's macOS package building and testing logic
- Prevent macOS build failures from only being discovered during release

This addresses the macOS build failure in the release workflow by adding
proactive testing in the PR workflow, ensuring issues are caught earlier
in the development cycle.
…lation

- Replace bottle installation test with formula validation and source build
- Use brew audit to validate formula syntax
- Install from source instead of non-existent bottle files
- Create test tarball from current code if release tarball unavailable
- Update artifact upload to include formula file for debugging

This resolves the 'No formulae or casks found' error in PR testing by
testing the actual formula validation and source installation process
rather than trying to install non-existent bottle files.
- Remove brew tap step that was causing path mismatch error
- Use direct formula validation with brew audit
- Install directly from formula file instead of tapping repository
- Simplify approach to avoid git repository path conflicts

This resolves the 'Tap runtimeverification/k remote mismatch' error
by eliminating the problematic brew tap command entirely.
- Use 'brew tap --force-local' to add local formula as tap
- Use 'brew audit --strict kframework' with formula name instead of file path
- This resolves the 'Calling brew audit [path ...] is disabled' error

The correct approach is to tap the local directory and then audit by formula name.
Focus this PR on making macOS testing non-blocking in releases only.
macOS PR testing will be implemented in a separate feature branch.
This branch will focus on implementing comprehensive macOS testing
for pull requests, including CloudRepo publishing for PR artifacts.
@F-WRunTime F-WRunTime requested a review from a team as a code owner September 12, 2025 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant