Closed TerribleDev closed 6 years ago
That all sounds awesome.
I am happy to help review/facilitate this if it's driven by you or other external contributors, but to be totally transparent our team won't have resources to actively contribute. If that sounds ok then I see no reason not to go for it.
our team won't have resources to actively contribute
I can write, and commit the files to use appveyor. Appveyor just reads a yml file in the repo like travis to perform the build. Without basic collaborator rights to this repo, I won't be able to setup appveyor, but once I commit the files in theory you could set it up. Same with coveralls (code coverage analysis).
The other piece for appveyor is an encrypted nuget api key, which would have to be encrypted inside appveyor. Again a small task you will have to do.
If you don't mind doing those tasks, after I commit the things, in theory everything will work. If you wouldn't have the time to setup appveyor, then the only other way this could get done is if you add me as a contributor (100% up to you of course, contributors get commit rights).
If you can commit to spending a few hours logging into appveyor when I make a PR, I can get this going.
At the very least I'm happy to push some buttons the make the final hookups work. I'm personally also fine with adding you as collaborator, but give me some time to touch base with some other folks first to make sure nobody has objections.
@latkin working on this now, sorry its slow going. Doing about 40% of this on my free time. Also I decided to be bold and to port all the unit tests to core.
No worries, just float a PR when you are ready. audentes Fortuna iuvat.
@latkin would it be ok if my PR came, removing/breaking code coverage analysis? I'll promise to add it back later, but its a bit of a pain to do right now in core land.
@TerribleDev yeah that's ok
I think we should setup public builds on appveyor, or some other system that would support windows based builds such as Jenkins.
For a few reasons
We woud have public validation for PR's that the code compiles, and that the unit tests run ok. We could also have a build system push out the new nuget packages, and even enforce code coverage. Ideally I'd like to push out new packages through github tags so that in github you can see what was in each release. As we could include release notes in the github tags.
In HardHat (which is of course a simpler project than this) I use appveyor to push out any nuget packages that are generated, and I only generate when a build is from a github tag This both makes things easy, in terms of making new releases, but also lets everyone clearly see the history of deployments inside of github. There is also 1 common place to read the changes in each release.
Even in my very complicated OwinOauthProviders I do this, and that lets all subscribers of all packages easily view all releases.