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

migrate build scripts over to CAKE #1440

Closed
shiftkey opened this issue Aug 8, 2016 · 7 comments
Closed

migrate build scripts over to CAKE #1440

shiftkey opened this issue Aug 8, 2016 · 7 comments

Comments

@shiftkey
Copy link
Member

shiftkey commented Aug 8, 2016

I've had some interest from various corners about moving our build scripts over to Cake. The process seems very similar to what we're doing currently, so I'm not really going to stand in the way.

Things I'd like to verify are possible with Cake (mostly due to emulating our current flow for releasing things):

  • use dotnet CLI tools to build, rather than MSBuild
  • AssemblyInfo generation from our ReleaseNotes.md file
  • SourceLink support (there's a nice helper for FAKE, but I gather there's a way to do it directly for our scenario)

Also note that these things in the current scripts will be made redundant by the migration to using the dotnet CLI, so I wouldn't worry about investing too much time in porting them over:

  • generating NuGet packages (although we might need to do some manual unpacking/repacking to get it working with NuGet)
  • running xUnit tests
@ryangribble
Copy link
Contributor

ryangribble commented Sep 2, 2016

SourceLink support (there's a nice helper for FAKE, but I gather there's a way to do it directly for our scenario)

Just on this point, I stumbled upon GitLink which sounds like it may do the same thing as what SourceLink currently does. CAKE has built-in aliases for GitLink

@shiftkey
Copy link
Member Author

shiftkey commented Sep 5, 2016

@ryangribble if GitLink gives us the same end result, then I'm fine with switching. I forget the backstory and why they didn't team up with SourceLink way back in the day...

@ryangribble
Copy link
Contributor

Hmmm so it turns out both SourceLink and GitLink dont support dotnetcore project.json and .xproj files which is a bit of a bummer in terms of our own dotnetcore move (which isnt strictly related to moving to CAKE however I was kind of intending to do it all at the same time)

GitLink aren't planning on doing anything until project.json goes away (although Im not sure when that actually will occur), and SourceLink were waiting for upstream depedencies as of a few months ago which are hopefully now in place so there could be hope there...

@ghuntley
Copy link

ghuntley commented Nov 17, 2016

Yo @shiftkey and @ryangribble I'd suggest using gitversion to automatically version your releases and generating release notes using GitReleaseManager which automatically builds RELEASENOTES/GitHub Releases from closed github issues + github tags.

See https://github.com/reactiveui/ReactiveUI/blob/develop/GitReleaseManager.yaml and https://github.com/reactiveui/ReactiveUI/blob/develop/GitVersion.yml

Doing RELEASENOTES.md by hand and versioning from it is something I regret and am glad to 🔥 in RxUI 7.0

+1 on using cake but steal the akavache implementation as it includes release workflows and automatic versioning - https://github.com/akavache/Akavache/blob/develop/build.cake

+1 to using GitLink as SourceLink is weird with CRLF's.

@ghuntley
Copy link

Additionally, once netstandard migration is done you can move 100% to appveyor and get rid of travisci.

@ryangribble
Copy link
Contributor

Yep all sounds good. The cake stuff i was playing with already is using GitVersion see here

So far i mostly based my cake stuff off Bddfy cake scripts but I'll take a look at akavache

@ryangribble
Copy link
Contributor

Closed by #1581

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

No branches or pull requests

3 participants