Skip to content

Conversation

@biplavbarua
Copy link

This PR modifies the CI matrix generation to correctly handle AppImage casks, which typically do not support ARM architectures (e.g., Apple Silicon, Linux ARM).
Changes:

  • Updates generate-cask-ci-matrix.rb to inspect Cask artifacts.
  • If an AppImage artifact is detected, the test matrix is strictly limited to :intel (x86_64) runners.
  • Adds a new test file dev-cmd/generate-cask-ci-matrix_spec.rb to verify this filtering logic.
    This unblocks CI for AppImage contributions by preventing them from being scheduled on incompatible runners.

@krehel
Copy link
Member

krehel commented Dec 14, 2025

Please follow the below instructions and report back results.

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes? Here's an example.
  • Have you successfully run brew lgtm (style, typechecking and tests) with your changes locally?

Refactor the architecture filtering logic in `generate-cask-ci-matrix` to correctly inspect `on_linux` blocks using `Homebrew::SimulateSystem`. This ensures that architecture dependencies defined within `on_linux` (e.g., `depends_on arch: :intel`) are respected when generating the CI matrix.
@biplavbarua biplavbarua force-pushed the fix/dev-cmd/matrix-appimage branch from 3f4425c to 5c981df Compare December 15, 2025 06:25
@biplavbarua
Copy link
Author

Thanks for the guidance!

  1. I have squashed the changes into a single clean commit.
  2. I verified that brew tests --only=dev-cmd/generate-cask-ci-matrix passes locally.
  3. I've confirmed that the logic now correctly attempts to simulate the Linux system to inspect on_linux blocks for architecture dependencies.
    If there is still a specific CI failure, could you point me to the log? My local checks are green.

@SMillerDev
Copy link
Member

Could you add the matrix here that it generates for wizcli, Google chrome, a font and a cask that you edit to have the os architecture dependency case?

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.

3 participants