Skip to content
This repository has been archived by the owner on Apr 28, 2022. It is now read-only.

CI choice #15

Closed
yurishkuro opened this issue Mar 24, 2018 · 13 comments
Closed

CI choice #15

yurishkuro opened this issue Mar 24, 2018 · 13 comments

Comments

@yurishkuro
Copy link
Member

I noticed this repo uses AppVeyor for CI - is this just a preference or a convention for .Net projects (e.g. travis.org is not an option)?

@cwe1ss
Copy link
Collaborator

cwe1ss commented Mar 24, 2018

@yurishkuro: Most .NET projects use AppVeyor because they use Windows machines and they have a very nice integration with .NET's package manager NuGet.

Building on Windows machines is still required if the project targets the full .NET framework (which this project currently does not - it targets the platform-independent ".NET Standard") or if it runs tests against the full .NET framework (which this project should probably do at some point).

So ideally any modern .NET project should use both CI systems to build & test on Windows, Linux and OSX. (Of course only until one of the CI systems offers all of these platforms).

@grounded042
Copy link
Collaborator

We originally used AppVeyor as that's what we've used for other C# open source projects. But, I'm not opposed to using another system - especially if when the move to Jaeger org happens you guys want to use something different.

@yurishkuro
Copy link
Member Author

The README needs a fix, as its [Build|Passing] icon points to the old name.

@cwe1ss
Copy link
Collaborator

cwe1ss commented Mar 30, 2018

@yurishkuro Can you add this project to the jaegertracing Travis account? I'll add a .travis.yml file.

As mentioned before, we would also need AppVeyor to build on Windows. There's certain features that are not possible on Linux. While we do not require any build-time features right now, we might very well need them soon (e.g. signing assemblies or targeting a specific version of the full .NET framework)

As we need the same for opentracing-csharp, I've written a how-to for setting up AppVeyor here: opentracing/opentracing-csharp#82 (comment)
The same should apply for jaegertracing as well.

@yurishkuro
Copy link
Member Author

@cwe1ss I made you an admin on this repo, so you should be able to manage CI, definitely Travis, not sure about appveyor. Might be faster than me being a proxy.

Could you elaborate why we need both?

@yurishkuro
Copy link
Member Author

Odd, when I synced my account on AppVeyor with GitHub, it created the project under my personal name https://ci.appveyor.com/project/yurishkuro/jaeger-client-csharp-5uj7p

@grounded042 do you know a better way to create a project so it looks like https://ci.appveyor.com/project/jaegertracing/jaeger-client-csharp ?

@grounded042
Copy link
Collaborator

@yurishkuro welcome to AppVeyor. The way they do user auth is super confusing and I think that you have to select the jaegertracing org when you sign in for it to appear where you want. I've run into the exact same problem that you have.

@grounded042
Copy link
Collaborator

@yurishkuro for instance when I sign into AppVeyor via Github I actually have to select chatham from the account dropdown and not grounded042 to see https://ci.appveyor.com/project/chatham/letstrace. I think you have to be an admin or owner in an org to be able to sign in using the org.

Also, I don't think we need AppVeyor right now. To release something right now we can use Travis CI as the entire build process for the library works on Linux. However, if down the road we need/want to support something in the build process that only works on a Windows machine we will have to use AppVeyor.

@MikeGoldsmith
Copy link

@yurishkuro when you enable a repo in AppVeyor you nee to select it from correct org (each org you're a member of shows it's available repositories). That will ensure you get {org}/{project}, I've accidentally picked a fork of the official repository many times.

On the CI front, as discussed above, AppVeyor was the defacto choice because until .NET core you could only build on Windows reliably. Now with .NET Core other CI systems are available but if you target a non-core framework (eg .NET full 4.5), you still need a Windows host. I've seen plenty of projects use multiple CI platforms to ensure build process and then rely on AppVeyor directly for packaging / distribution of artefacts.

@yurishkuro
Copy link
Member Author

I picked it like this:

image

I am guessing I also need to be on the org account, but I don't know how that can be achieved - does it need a separate login & password? I don't have any other accounts in the profile dropdown.

image

@MikeGoldsmith
Copy link

What you have looks correct. Not sure why it's not working as expected. AppVeyor's support is normally pretty good, even on free accounts - forum / email

@yurishkuro
Copy link
Member Author

Just read a few of their support issues on forum, the github org support is not there. I don't want to waste time on this so I just renamed my account to jaegertracing and now the project name is good: https://ci.appveyor.com/project/jaegertracing/jaeger-client-csharp

Since I am logging in with github, I don't have to manage an extra password, so it's good enough. And I can add other collaborators to that account.

@cwe1ss
Copy link
Collaborator

cwe1ss commented May 28, 2018

@yurishkuro fyi, I added @Falco20019 as an administrator to the AppVeyor account because the "Github Teams" feature of AppVeyor doesn't work properly.

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

No branches or pull requests

5 participants