-
Notifications
You must be signed in to change notification settings - Fork 459
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
Move builds from TeamCity to AppVeyor #220
Comments
I would fork the project and get something basic working in VS2017 supporting NET45 using a new solution. Use side-by-side csproj files like I did in Core. The only one I would leave as-is, is the Castle.Facilities.WcfIntegration.Demo. We should theoretically be able to get a build going in AppVeyor that passes supporting this framework moniker with tests passing without breaking anything in teamcity. This set's us up nicely to have a FEATURE_BUILD_FLAG discussion for Windsor once we start targetting netstandard1.3, like so https://github.com/castleproject/Core#conditional-compilation-symbols. |
I've just created a |
Hi @jeremymeng Just an update on my work in Castle Core. @jonorossi - has approved my latest changes in the https://github.com/castleproject/Core/commits/refactor-build branch. We now have an approved approached for net45 on appveyor. I am busy upgrading NUnit and then I have to start targetting netcoreapp1.0 in Castle Core tests. This is the bulk of the work left, I suspect implementing TravisCI should be the easy part. If you have any questions please fire away. |
What is the plan for the three WcfIntegration projects? Are they going to be removed? @Fir3pho3nixx you mentioned about not building Castle.Facilities.WcfIntegration.Demo, however the project Castle.Facilities.WcfIntegration.Tests depends on it. Should the tests that depend on Castle.Facilities.WcfIntegration.Demo be pulled out? |
I'm not sure why @Fir3pho3nixx said leave the WCF Demo one as is, it shouldn't be any work to get it building on .NET 4.5 using the new tooling, and it looks like you've already done the work now. I'd like to see the existing WCF projects go across and we can look at reducing them later, however obviously no one is expecting any .NET Core/Standard support for those projects.
We haven't bothered setting up a TeamCity build for the refactor-build branch in Castle Core, and I know some of those embedded resource changes will break the TeamCity build. I don't think it really matters, once we are happy with the new build I assume we'll delete the old files and rename the new csproj files before merging; we've always got git tags for old releases. @Fir3pho3nixx is that what you were thinking? |
Sorry guys, all I meant was don't upgrade it to the new vs2017 multi targeting format. |
@jonorossi - happy to go with a hard cut over for this. Running tests for both takes twice the amount of time. |
@jonorossi I've tried to update the Castle.Core version referenced by Windsor from 3.3.0 to 4.0.0, and many tests fail. Are there major breaking changes between these two versions I should be aware of? |
There are some breaking API changes especially around things that were in Maybe it is best to get these build changes done with Castle Core 3.3.0 as a like-for-like with master's old build scripts, then do the dependency upgrade? |
@jonorossi @Fir3pho3nixx What is needed at this time on Windsor with regard to Travis CI? |
I'd say nothing. We currently don't build/test Windsor on Mono with TeamCity so no need to start under this work, it sounds like it'll be much easier in a month or two. It is important for Castle Core because of the wide use of Castle DynamicProxy. |
Edited issue title to reflect no need for Travis at the moment. |
What's left to do:
This is what the "Pack" configuration on TeamCity does for Windsor, we need to work out what we need and how to do the same hopefully without all the mess. Artifact Dependencies:
Parameters:
Build Steps:
Artifacts:
|
A whole bunch of the packaging can be simplified now that we have a single "job" building and packaging, and we can transition from manual nuspecs to the csproj file, hopefully keeping common things in a common file. I don't think we need the ability to specify the Castle Core version, it should be defined in source control and much of the other manual packaging stuff will be taken care of by MSBuild generating the nupkg. |
Great work @alinapopa. Do you need any more info to progress with the remaining items? Can we package Windsor using the .NET CLI?
|
@jonorossi under the buildscripts folder there are nuspec files for Castle.Windsor-log4net and Castle.Windsor-NLog. There are no projects in the solution with these names. What are they created from? |
Also @jonorossi I am getting a warning for project Castle.Facilities.WcfIntegration that the description is too long:
And I can't move it in the Summary field because the Summary field is no longer supported |
As mentioned in #220 (comment) these are "Dependency-Only Packages". I don't know exactly the reason for them, and git history and issues isn't providing much info, I assume they are there to ensure when you install the logging facility the right version of
It looks like the threshold is 300 characters and we've got 401 in the description. I'm happy for the description to get truncated when it is show as the summary, and for the warning to stay for now. |
@alinapopa - Your input helped quite a bit when it came to translating the old nuspec properties to the common.props for Castle.Core whilst packaging NuGets. Many thanks! I have submitted my last PR for tag based publishing Castle.Core using AppVeyor: castleproject/Core#259 There is still a pending discussion about clean up: castleproject/Core#241 Anything I can help out with down here? |
@Fir3pho3nixx This item is pretty much done (the only thing that should be added is the CLSCompliant attribute on the assemblies; using the latest test adapter may not be a good idea at this time because there are some issues with it). |
@alinapopa - How far away are we from publishing the nugets using appveyor? Once this is done, we are ready to start implementing the build feature symbols like in Core. FEATURE_APPDOMAIN, FEATURE_SERIALIZATION, FEATURE_SECURITY_PERMISSIONS and FEATURE_REMOTING are the big ones I can think of just off the top of my head. This will help us unlock a a version of Windsor that targets netstandard. |
|
@jonorossi - Can we create a milestone with the version number in it (for releasing #235)? I can then tag this issue with that milestone. Can we also add a label to indicate progression from "up for grabs" to "assigned" or something similar? This would be very handy for knowing what is outstanding or what is in flight. |
Yes that sounds like a good idea |
@jonorossi - Can we change this issue to include TravisCI, this is a solved problem in Castle Core? I plan to implement it here. |
Since this version also includes dropping Silverlight, .NET 3.5 and 4.0 support what version number do you want? At first I was going to just go 3.5, but now thinking this is 4.0 and .NET Core support can be in 4.1?
I would think removing the "up-for-grabs" label and assigning the issue to yourself would be the best indication that you are working on it? "up-for-grabs" is the label used for new contributors to the project that would be a good starting point, not just anything that needs to be done. i.e. following the convention many hundreds of projects have been doing over the last 5 or so year, and the web site.
There is likely a heap of failing unit tests on Mono so not just as simple as adding a travis.yml file, I'd prefer if we delayed it to another task to get this work done so we can get the next release out. Thoughts? Also see my comment above: #220 (comment). |
Going with version 4.0 sounds perfect. I mistakenly thought we were good on the mono side, if this is the case, you are right ... let's hold off for now. Thanks for explaining how the labels work. I will move on to getting the tag based deployments working after I have resolved the changes needed for my PR in Castle Core. |
@jonorossi I think the removal of System.Security.AllowPartiallyTrustedCallers assembly attribute from Windsor should be listed under "Breaking Changes" |
Responded by creating #248. |
Just double checking, we are not supporting net35 || net40 for this right? |
IMHO - It is a shame we are not harmonising our framework support with castle core here. |
I'm unsure exactly what you are asking. If you want to also support .NET 3.5/4.0 in Windsor just as 3.4 does I don't mind, but obviously it is additional work. We really should keep .NET 3.5/4.0 support in Castle Core for a bit longer. |
@jonorossi not sure if you are checking your mail, my internet is fixed now. Do you think we can do a release and close out the appveyor issues in Core & Windsor? Would like to close these out before I pick up something else. |
Sorry about that, I started looking into it the other night after your email and found a few problems but didn't get it finished and forget to reply. Will try to sort that out tonight. |
No worries, if there is anything I can help with please let me know. |
I think we are good to go here. @jonorossi - can we close this out? |
Yep, #275 is now merged. |
@jonorossi Please confirm that this is something that we can help now.
Related discussion: castleproject/Core#241 (comment)
part of #145.
The text was updated successfully, but these errors were encountered: