clowd / Clowd.Squirrel

Quick and easy installer and automatic updates for cross-platform dotnet applications
426 stars 39 forks source link

Using s3-up to upload macos packages #128

Closed brads55 closed 9 months ago

brads55 commented 2 years ago

Hi,

Using csq s3-up to upload a MacOS package results in the following:

[ERRO] System.InvalidOperationException: Invalid release directory: One Setup.exe file expected. None was found.
   at Squirrel.EnumerableExtensions.ContextualSingle[T](IEnumerable`1 source, String strIs, String strWhat, String strIn) in ./Squirrel/Internal/EnumerableExtensions.cs:line 26
   at Squirrel.CommandLine.Sync.S3Repository.UploadMissingPackages() in ./Squirrel.CommandLine/Sync/S3Repository.cs:line 88
   at Squirrel.CommandLine.SquirrelHost.Upload[T](T repo) in ./Squirrel.CommandLine/SquirrelHost.cs:line 107
   at Squirrel.CommandLine.SquirrelHost.<>c.<Main>b__0_5(SyncS3Options o) in ./Squirrel.CommandLine/SquirrelHost.cs:line 69
   at Squirrel.CommandLine.CommandAction`1.Execute(IEnumerable`1 args) in ./Squirrel.CommandLine/ValidatedOptionSet.cs:line 168
   at Squirrel.CommandLine.SquirrelHost.Main(String[] args) in ./Squirrel.CommandLine/SquirrelHost.cs:line 85

It appears that s3-up always looks for a Setup.exe file, which do not exist in a MacOS package: https://github.com/clowd/Clowd.Squirrel/blob/5f9f594b3d20453652fde782800d9293914db44e/src/Squirrel.CommandLine/Sync/S3Repository.cs#L88-L89

caesay commented 2 years ago

Indeed, I'm still working on this / thinking about how deployment needs to work for multiple operating system / cpu architectures. Ideally, you'd be able to deploy both windows and macOS versions to the same package repository and Squirrel would pick the right one when updating.

caesay commented 9 months ago

This is now fixed and will be available in the next release