-
Notifications
You must be signed in to change notification settings - Fork 654
Initial Cake Build Script #898
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
Conversation
gep13
commented
Jun 9, 2016
- Lets see how well this works
- Thrown together over lunch
- Opening this as a point of discussion
Things that still need to be done:
|
Is it wrong of me to prefer what was there before since it's so much more succinct/understandable and has less rigmarole? #controversial |
@robdmoore we are moving the build logic into build scripts. At the moment the release process is manual and AppVeyor releases can't be automated more. |
@gep13 @JakeGinnivan ❤️ This is awesome! What are your current thoughts regarding release notes? |
Can we also integrate publishing the VSTS Extension to the Marketplace? |
Yes, assuming you can tell me what is required, then we can definitely get this added in 😄 |
The current thought process is the following...
|
@gep13 Sounds good! 👍 from me 😄 |
From my very recent experience finding and copying commands out of the build server log in order to reproduce the build locally, I wholeheartedly support the introduction of a build script :) I am curious: is Cake already decided on, or is it just a current contender? Cake is great; I am implementing it at work right now and overall find it very useful. But I have selfish reasons for proposing something else if people are open to it... One thing that I notice is that this build script removes the existing dogfooding aspect of the build. The current Windows build actually dogfoods itself by building, then running GitVersion.exe, then building again. This makes the build time longer, but it also serves as an extra layer of testing of the packaging itself (specifically the CommandLine package) within the build. By invoking GitVersion at the start of the build script using a pre-existing package, that dogfooding behavior is lost. |
I spoke with Jake while we are both here at NDC, and we have pretty much decided to go with Cake. I would be curious as to what other suggestions you would have though.
Yes, we are aware of this. Cake allows us easily to switch from using the latest version on NuGet to a version built locally. This first pass at a Cake Build Script is literally just that. Something that was cooked up over lunch while we are both here. We will likely fine tune this over the next couple weeks until it does everything the previous script did, and more. |
So I am playing with a crazy cake/appveyor setup for Shouldly to get a bit more of a deployment pipeline. You can see it at shouldly/shouldly@80554d6 The flow is:
And we don't have to rebuild any artifacts, yay :) What do you think of that process, something which would work here? |
@JakeGinnivan If that's the only way to do it, I'd say 👍. But isn't it possible to avoid the manual release step, for example by invoking that in CI somehow only when the commit being built is tagged (with a valid version number, if that's possible to verify)? |
{ | ||
if(IsRunningOnUnix()) | ||
{ | ||
XBuild("./Source/Gep13.Cake.Sample.WebApplication.sln", new XBuildSettings() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not build ./src/GitVersion.sln
?
- Lets see how well this works - Thrown together over lunch - Opening this as a point of discussion
…no docs warning in release build
Am uploading the test results but they don't seem to be picked up. Not too fussed, can look into that later. Do you have any ideas @gep13? |