EasyBackup icon indicating copy to clipboard operation
EasyBackup copied to clipboard

Improve automated release process for all platforms

Open Deadpikle opened this issue 1 year ago • 3 comments

dotnet-releaser is not actually publishing the release for some reason when done via CI.

...maybe I shouldn't add the tag myself...? does the releaser handle this? That might fix the changelog and tagging versioning issues. But will it realize it needs to publish...?

Deadpikle avatar Jul 28 '24 01:07 Deadpikle

For macOS: Can we make an actual .app instead...? Maybe we need to zip things ourselves and add them to the release to fix the issue of the executables not being chmod +x'ed...

I have a developer account so making an actual .app should be possible.

  • https://avaloniaui.net/blog/the-definitive-guide-to-building-and-deploying-avalonia-applications-for-macos for commands/script references
  • https://github.com/Bogdanp/Franz/blob/388edfd7238839af52ecda9ad8554fba7e462db5/.github/workflows/build.yml#L105-L196
  • https://docs.github.com/en/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development
  • https://docs.avaloniaui.net/docs/deployment/macOS

To attempt to make an app bundle with dotnet publish:

  • sudo dotnet workload install "macos"
  • Make sure to add net8.0-macos to TargetFrameworks
  • <ApplicationId>com.identifier</ApplicationId> in csproj
  • dotnet publish -f net8.0-macos -r osx-arm64 -c Release <-- makes a .pkg in publish folder and a .app outside of it IF SingleFilePublish is...false?! Why does it make a .pkg? See this thread also
    • Got error: error NETSDK1098: Applications published to a single-file are required to use the application host. You must either set PublishSingleFile to false or set UseAppHost to true
    • This error doesn't make sense as UseAppHost is already true.

Deadpikle avatar Aug 01 '24 01:08 Deadpikle

This now works properly on CI/CD. However, https://github.com/xoofx/dotnet-releaser/issues/63 is an issue, and we could probably improve things by using a .app file on macOS.

However, at least all the builds are running properly, now!

Deadpikle avatar Nov 07 '24 06:11 Deadpikle

OK, the thing is executable now since the issue in the other repo is fixed, so Linux is fairly good to go, but due to notarization, macOS is still a pain. We should at least build a .app for users if nothing else. Should be able to notarize it too, but that'll be another step beyond .app.

If we build it ourselves outside dotnet-releaser, can use: https://github.com/AButler/upload-release-assets

Deadpikle avatar Nov 18 '24 08:11 Deadpikle