You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Keeping the OxyPlot Xamarin NuGet packages up-to-date requires frequent updates (due to the Xamarin dependencies)
To create stable package releases, we should test on all the supported platforms
This is a lot of work and quite time consuming. An alternative could be to recommend everyone using this library to build it themselves, e.g. include the source code in their project as a git submodule or subtree.
Yes, with more maintainers we could avoid this. It seems like we need some people to support each major platform. The Xamarin platform is extra challenging to automate on CI and requires Apple hardware for testing (MacOS, iOS).
Yes, with more maintainers we could avoid this. It seems like we need some people to support each major platform. The Xamarin platform is extra challenging to automate on CI and requires Apple hardware for testing (MacOS, iOS).
@objorke I could actually offer to act as a (co-)maintainer here and take care of building nupkgs (via CI). I have Apple hardware available and can do basic tests on all major platforms (Android, iOS, Mac, UWP).
I have managed to build a nuget package based on OxyPlot.Core version 2.0 already, which works very well on Android at least (on other platforms I get errors which probably need some minor code fixing).
For CI I would suggest GitHub Actions. I have used this before and could contribute a setup that builds the code and generates nupkgs.
Maybe as a compromise for avoiding too much maintenance overhead, one could drop support for the 'native' Xamarin.Android and Xamarin.iOS packages, and instead only support a Xamarin.Forms package on all major platforms (Android, iOS, Mac, UWP)? It would be nice to evolve that into something that works with MAUI as well.
I have managed to build a nuget package based on OxyPlot.Core version 2.0 already, which works very well on Android at least (on other platforms I get errors which probably need some minor code fixing).
It sounds great if everything can be built on GitHub Actions, then we could add the publish step. Can it also include a step to sign the package? I think building in a pipeline and signing the packages are mandatory, otherwise the integrity of the packages cannot be verified.
It would also be great to see all builds in this project moved from AppVeyor to GitHub actions and include signing of the packages. Publish to NuGet or GitHub packages (does it offer built-in integrity checks?) @VisualMelon
Well, yeah, Xamarin.Forms is in the process of being replaced by Maui, so there will probably be no major releases any more, but only some minor bugfixes, I assume.
It sounds great if everything can be built on GitHub Actions, then we could add the publish step. Can it also include a step to sign the package?
I have never done this, but in principle it should be possible, I guess.
I think building in a pipeline and signing the packages are mandatory, otherwise the integrity of the packages cannot be verified.
Yeah, makes sense.
Although, in most other packages I'm involved in, the CI-built packages are only left on the CI server as an artifact for interested people to download, and release packages are uploaded to nuget.org manually.
But yes, the scheme you propose is more bullet-proof.
I'm afraid I don't know anything about signing either, but we should be able to find examples on other projects. I also have increasingly little time for OxyPlot, unfortunately, but happy to help if possible (better @VisualMelon me though, because I don't generally watch this repo carefully)
I'm pretty oblivious to all matters Xamarin, but happy to publish packages when we're happy they're in sensible state.
Pushing CI builds for accepted merges (not PRs) to nuget as pre-releases is OK by me.
I'm afraid I don't know anything about signing either, but we should be able to find examples on other projects. I also have increasingly little time for OxyPlot, unfortunately, but happy to help if possible (better @VisualMelon me though, because I don't generally watch this repo carefully)
Maybe we simply defer this discussion and stick to manual uploading for now ...?
I'm pretty oblivious to all matters Xamarin, but happy to publish packages when we're happy they're in sensible state.
I have merged #125 yesterday and tagged that as 2.0.0-beta.1.
(Btw, I'd propose to deprecate the Xamarin.Android, Xamarin.iOS and Xamarin.Mac packages, and only publish updates for the Xamarin.Forms package from now on. Hope that is ok with you.)
@VisualMelon Looks great! I have already tested the nupkg (as downloaded from GitHub), so basically it's fine with me if you just push it to nuget.org. Thanks a lot for your support!
Usually just takes a few minutes. Seems like it's available already :)
It also said this which may be of interest
Yes, I think I've already seen this in the GHA logs. Will update the nuget metadata soon (and maybe release a beta.2 with some updates and cleanup within a week or two).
With the new package published, I think this issue can be closed, since we're publishing nupkgs again (and it also fixes a handful of other GH issues as well).
Activity
[-]Remove NuGet packages[/-][+]Stop publishing NuGet packages[/+]dsyme commentedon Apr 22, 2020
If it is a lot of work and time consuming, why not ask to bring on extra maintainers to this project and also automate the process?
This package is a great package! and deserves a nuget, like most other packages....
objorke commentedon Apr 22, 2020
Yes, with more maintainers we could avoid this. It seems like we need some people to support each major platform. The Xamarin platform is extra challenging to automate on CI and requires Apple hardware for testing (MacOS, iOS).
janusw commentedon Nov 12, 2022
@objorke I could actually offer to act as a (co-)maintainer here and take care of building nupkgs (via CI). I have Apple hardware available and can do basic tests on all major platforms (Android, iOS, Mac, UWP).
I have managed to build a nuget package based on OxyPlot.Core version 2.0 already, which works very well on Android at least (on other platforms I get errors which probably need some minor code fixing).
For CI I would suggest GitHub Actions. I have used this before and could contribute a setup that builds the code and generates nupkgs.
Maybe as a compromise for avoiding too much maintenance overhead, one could drop support for the 'native' Xamarin.Android and Xamarin.iOS packages, and instead only support a Xamarin.Forms package on all major platforms (Android, iOS, Mac, UWP)? It would be nice to evolve that into something that works with MAUI as well.
janusw commentedon Nov 12, 2022
see PR #125
objorke commentedon Nov 13, 2022
Hi @janusw! I am not active in this project at the moment, but will try to answer!
I see the release pace of Xamarin has slowed down, so it is hopefully easier to keep up with the latest versions now... https://www.nuget.org/packages/Xamarin.Forms#versions-body-tab
It sounds great if everything can be built on GitHub Actions, then we could add the publish step. Can it also include a step to sign the package? I think building in a pipeline and signing the packages are mandatory, otherwise the integrity of the packages cannot be verified.
It would also be great to see all builds in this project moved from AppVeyor to GitHub actions and include signing of the packages. Publish to NuGet or GitHub packages (does it offer built-in integrity checks?) @VisualMelon
janusw commentedon Nov 13, 2022
Oh, not even in Oxyplot.Core? That's a shame. Thanks even more for your reply then ;)
Well, yeah, Xamarin.Forms is in the process of being replaced by Maui, so there will probably be no major releases any more, but only some minor bugfixes, I assume.
I have never done this, but in principle it should be possible, I guess.
Yeah, makes sense.
Although, in most other packages I'm involved in, the CI-built packages are only left on the CI server as an artifact for interested people to download, and release packages are uploaded to nuget.org manually.
But yes, the scheme you propose is more bullet-proof.
VisualMelon commentedon Nov 13, 2022
I'm afraid I don't know anything about signing either, but we should be able to find examples on other projects. I also have increasingly little time for OxyPlot, unfortunately, but happy to help if possible (better @VisualMelon me though, because I don't generally watch this repo carefully)
I'm pretty oblivious to all matters Xamarin, but happy to publish packages when we're happy they're in sensible state.
Pushing CI builds for accepted merges (not PRs) to nuget as pre-releases is OK by me.
janusw commentedon Dec 2, 2022
Maybe we simply defer this discussion and stick to manual uploading for now ...?
I have merged #125 yesterday and tagged that as
2.0.0-beta.1.@VisualMelon, @objorke Could one of you please upload the OxyPlot.Xamarin.Forms package (built by GHA) from https://github.com/oxyplot/oxyplot-xamarin/actions/runs/3593037496 (see 'artifacts' at the bottom)?
Or alternatively give me permissions for https://www.nuget.org/packages/OxyPlot.Xamarin.Forms/, so that I can do it myself? (my nuget account is this one: https://www.nuget.org/profiles/janusw)
(Btw, I'd propose to deprecate the Xamarin.Android, Xamarin.iOS and Xamarin.Mac packages, and only publish updates for the Xamarin.Forms package from now on. Hope that is ok with you.)
VisualMelon commentedon Dec 2, 2022
I can upload it tomorrow if no-one beats me to it.
VisualMelon commentedon Dec 3, 2022
@janusw pushed to my test myget https://www.myget.org/feed/melonoxyplottesting/package/nuget/OxyPlot.Xamarin.Forms/2.0.0-beta.1 should you want to do any tests on pulling the package from the nuget source before I push it to nuget.org (just ping me when you're happy for me to push it to nuget.org)
janusw commentedon Dec 3, 2022
@VisualMelon Looks great! I have already tested the nupkg (as downloaded from GitHub), so basically it's fine with me if you just push it to nuget.org. Thanks a lot for your support!
VisualMelon commentedon Dec 3, 2022
@janusw done; nuget says it may take a while for it to appear. It also said this which may be of interest
janusw commentedon Dec 3, 2022
Thanks!
Usually just takes a few minutes. Seems like it's available already :)
Yes, I think I've already seen this in the GHA logs. Will update the nuget metadata soon (and maybe release a beta.2 with some updates and cleanup within a week or two).
janusw commentedon Dec 3, 2022
With the new package published, I think this issue can be closed, since we're publishing nupkgs again (and it also fixes a handful of other GH issues as well).