DomT4 / homebrew-autoupdate

:tropical_drink: An easy, convenient way to automatically update Homebrew.
BSD 2-Clause "Simplified" License
968 stars 54 forks source link

Also update mas (App Store apps) #127

Closed honeybyhomo closed 5 months ago

honeybyhomo commented 6 months ago

Is there a reason it doesn't update mas apps – or has an option (--upgrademas) to do so?

Oh, and I frickin' LOVE Homebrew and Autoupdate!

swissbuechi commented 6 months ago

Could you please provide the brew commands you use to upgrade the mas apps manually?

Thanks

honeybyhomo commented 6 months ago

Of course! mas upgrade

swissbuechi commented 6 months ago

Of course! mas upgrade

I've never usedmas, but it seems like there is an integration between homebrew-bundle and the mas-cli. As far as I understand, you can bundle mas dependencies inside your Brewfile to automatically install them when running brew bundle <Brewfile>. https://github.com/mas-cli/mas?tab=readme-ov-file#-homebrew-integration

Is there any other integration between mas and brew, which I may have missed?

Of course, it would not be very difficult to implement running mas upgrade when executing homebrew-autoupdate, but I don't know if we're supposed to mix these projects together.

honeybyhomo commented 6 months ago

I guess I always thought of it as integrated into brew (probably because it's included in brewfile) but I guess technically it is separate. It seems strange not to include updating those apps in autoupdate in my opinion. I install all apps (including from App Store) from Brew – naturally I want to update them all as well. Don't know who to ask "permission" to include it in autoupdate.

swissbuechi commented 6 months ago

I install all apps (including from App Store) from Brew

What command do you run to achieve this? Don't you use the mas-cli?

mas install 409183694   # Keynote

Or do you run:

brew bundle <Brewfile>
honeybyhomo commented 6 months ago

I use brew bundle <Brewfile>

swissbuechi commented 6 months ago

Alright. Technically, there seems to be no difference if a Store app was installed using brew bundle or mas install.

In terms of auto-updates, aren't the mas installed apps also detected as installed in your App Store? And wouldn't they just automatically update by itself, like any other app installed through the App Store? If this is the case, it would not make sense to include mas in homebrew-autoupdate. Otherwise, this may be worth a thought.

honeybyhomo commented 6 months ago

"Regular" apps also automatically update by itself (at some point) – one of the points of Brew (and autoupdate) is that we decide to update now and not when the system decides to.

swissbuechi commented 6 months ago

"Regular" apps also automatically update by itself (at some point)

This is not true for homebrew formulae, these are simple ruby scripts which never automatically update. And in the case of Casks, only the ones with auto_updates true configured, have a built-in auto update feature.

one of the points of Brew (and autoupdate) is that we decide to update now and not when the system decides to.

You could pass --greedy to ether brew upgrade or brew autoupdate start --upgrade ... to include the applications, which would normally only be updated using the built-in update mechanism. You would need to manually disable the built-in updates for every Cask you install.

I really prefer the built-in upgrade mechanism. In most cases, the user experience benefits compared to the --greedy enforced upgrades. For example, in Microsoft Edge, you'll get a nice notification that indicates a pending restart due to an upgrade.

Anyway, do you know if applications installed with mas-cli still automatically update thought the App Store or not?

honeybyhomo commented 6 months ago

I'm not 100% sure but I do believe that App Store apps installed via mas-cli update through the App Store.

Just to understand: Would adding a --include-mas option be bad in any way? Those that don't want to use it don't include it and those that do can use it.

And thanks for the discussion – I'm fairly new to github and all the great software on here – pretty amazing.

MikeMcQuaid commented 6 months ago

I'm not 100% sure but I do believe that App Store apps installed via mas-cli update through the App Store.

They do, yes.

Just to understand: Would adding a --include-mas option be bad in any way? Those that don't want to use it don't include it and those that do can use it.

Depends how much code is needed to maintain and how many people want to use it.

I tend to agree with @swissbuechi that there's little value adding something that can be done automatically by macOS for you.

github-actions[bot] commented 5 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.