Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop publishing NuGet packages #84

Closed
objorke opened this issue Nov 24, 2018 · 14 comments
Closed

Stop publishing NuGet packages #84

objorke opened this issue Nov 24, 2018 · 14 comments

Comments

@objorke
Copy link
Member

objorke commented Nov 24, 2018

  1. Keeping the OxyPlot Xamarin NuGet packages up-to-date requires frequent updates (due to the Xamarin dependencies)
  2. 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.

@dsyme
Copy link
Contributor

dsyme commented 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
Copy link
Member Author

objorke commented 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
Copy link
Member

janusw commented Nov 12, 2022

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.

@janusw
Copy link
Member

janusw commented Nov 12, 2022

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).

see PR #125

@objorke
Copy link
Member Author

objorke commented 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
Copy link
Member

janusw commented Nov 13, 2022

I am not active in this project at the moment, but will try to answer!

Oh, not even in Oxyplot.Core? That's a shame. Thanks even more for your reply then ;)

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

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.

@VisualMelon
Copy link

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
Copy link
Member

janusw commented Dec 2, 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)

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.

@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
Copy link

I can upload it tomorrow if no-one beats me to it.

@VisualMelon
Copy link

@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
Copy link
Member

janusw commented 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)

@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
Copy link

@janusw done; nuget says it may take a while for it to appear. It also said this which may be of interest

image

@janusw janusw closed this as completed Dec 3, 2022
@janusw
Copy link
Member

janusw commented Dec 3, 2022

@janusw done;

Thanks!

nuget says it may take a while for it to appear.

Usually just takes a few minutes. Seems like it's available already :)

It also said this which may be of interest

image

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
Copy link
Member

janusw commented 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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants