Skip to content

Conversation

@biplavbarua
Copy link

Description

This PR adds support for appimage artifacts in Casks, primarily for Linux support.

Changes

  • Added Cask::Artifact::AppImage class.
  • Added appimagedir configuration (defaults to ~/Applications).
  • Added tests for AppImage artifact.
  • Fixed test helper to include appimagedir.
  • Overridden dsl_key to ensure appimage stanza works correctly.

Testing

  • brew tests --only=cask/artifact/appimage passes.- [ ] 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?

@biplavbarua biplavbarua force-pushed the feat/cask/appimage branch 3 times, most recently from 5370783 to 9d01204 Compare December 13, 2025 12:36
@SMillerDev
Copy link
Member

If these are just my changes this will break cask CI because I had only half an attempt to make Linux only and partial arch requirement installs work.

@biplavbarua
Copy link
Author

Hi! Thanks for the heads up.

I've actually built upon your initial work and fixed the issues to get the CI passing.

Specifically, I:

  1. Added the missing dsl_key override so AppImages are correctly detected.
  2. Fixed the Sorbet/Typecheck errors (including the strict instance_variable_get issues in the installer).
  3. Added a new test suite (appimage_spec.rb).

The CI checks are currently all green ✅.

@SMillerDev
Copy link
Member

None of those are the issue. The issue is that since there are essentially no Appimages that support ARM, the cask CI needs to be able to support selective architecture selections.

That part is currently not working, and needs more testing and coding. It should also probably be split out from this PR, since it's blocking a flutter PR in the cask repo.

Copy link
Member

@SMillerDev SMillerDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem isn't that appimages need special handling though. They problem is that if you define an architecture requirement in an on_linux block, the CI matrix builder does not honor it.

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.

2 participants