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

Deliver the dotnetcore port and CAKE build framework changes #1581

Merged
merged 14 commits into from
May 4, 2017

Conversation

ryangribble
Copy link
Contributor

@ryangribble ryangribble commented Apr 11, 2017

I think the time has come to ship our dotnetcore port!

Unless anyone has any other items on the TODO list I think we can hit the button once those last couple of items are done!

/CC @shiftkey @haacked @mderriey

mderriey and others added 9 commits January 21, 2017 14:42
Port to .NET Core
* add a build task to run LINQPad samples

* make modifications to the validation of LINQPad samples

* rename the CAKE task to its original name ValidateLINQPadSamples
* rename the LINQPad samples file so they get executed in ordinal order (1, 2, ..., 10 and not 1, 10, 2, ...)

* remove openssl linking in TravisCI when on macOS
* add FormatCode build task

* add log message to indicate we generate temp .csproj files to run the code formatter
* add .ruleset back to both Octokit and Octokit.Reactive

* rename Octokit.Core.sln to Octokit.sln

* remove platform-specific solution files

* remove .nuspec files

NuGet packaging information is now in the relevant project.json files

* remove ext folder containing platform-specific assemblies

* update the description of the .ruleset file we use
* add GitVersion configuration file

* use beta tag for master
* convert to VS2017

* rework cake.frosting build to latest cake vs2017 "template" example

* fix clean task and version suffix

* add arg to DotNetCorePack so it uses the correct version

* fix appveyor

* is there an easier way to test appveyor?

* ok travis, let's do this

* after reading the travis repo, this seems to be the version we want for vs201/csproj tool support

* msbuild complaining about arguments - we can use defaults anyhow so remove $@ from build.sh script

* add workaround for msbuild/travis, as mentioned on aspnet Mvc repo

* cmon travis

* perhaps tee isnt needed afterall

* travis permission denied when trying to install tools in build script... i feel dirty but need to see if sudo will fix it!

* could it be folder permissions of /build ?

* Try 777 for NuGet.exe permissions rather than 644

* remove windows platform restriction on GitVersion call

* Add a wrapper script for GitVersion on non windows

* fix wrapper script name

* add debug

* let's see if we are running the script at all!

* run mono gitversion direclty from travis.yml, for science

* see if we can run bin/sh and prepend an argument to our shell script

* remove echos from wrapper script

* Ensure full git repo include more than 50 commits and all tags are fetched, as GitVersion was failing on TravisCI

* only build netstandard framework on non windows

* revert overriding the target framework when building the solution

* Unix being case-sensitive, adjust app.config file name in csproj files

* set FrameworkPathOverride to point to different folders on macOS and Linux

* Remove NuGet.exe from the repo.

On Windows, it will be installed by the Frosting bootstrapper script.
On Unix/macOS, cake has smarts to look for mono- and Linux-specific executables

* tidy up GitVersion logic into a GitVersionRunner class

* apply workaround for osx dotnet restore "too many open files" errors

* update test project references to latest official versions

* doesnt seem to be a reason for overriding the implicit reference

* remove extra whitespace and unused namespace
* add sourcelink support

* Update sourcelink (2.0.2 -> 2.1.0)

* Add parameter to enable source linking

* tidy up the arguments with an extension method allowing an argument to be conditionally appended

* Add an explicit "test sourcelink" build task and remove the MSBuild one, so we can get some build script output without needing the whole build to be in verbose logging

* run sourcelink test against the NuGet packages
# Conflicts:
#	.travis.yml
#	Octokit.sln
#	appveyor.yml
@ryangribble ryangribble added this to the dotnetcore milestone Apr 11, 2017
@shiftkey
Copy link
Member

Is there any particular feedback you need from me?

@ryangribble
Copy link
Contributor Author

Nothing specific, unless you can spot anything I've missed!

* bugfix - PUT should have a payload for Mark as Read (#1579)

* bugfix - PUT should have a payload for Mark as Read

* also fix the Observable client test

* add integration tests for MarkRead methods

* Fixup MarkReadForRepository methods to specify a body in the PUT request

* Fix unit tests for regular and observable client

* helps if the new files are included in the test project :)

* Cloning ApiInfo object should work when some fields are null (#1580)

* Adjust ApiInfo.Clone() to work even if some elements (eg ETag) are null

* Remove c# 6 language feature and do it the old school way

* Add a test for cloning ApiInfo when some fields are null

* The 3 lists can never be null anyway so remove some un-needed statements

* Add test for null RateLimit

* Remove Rx-Main dependency from samples
This resolves #1592 - LINQPad doesn't understand how to restore this unlisted package and it's not actually needed in the samples.

* Adding RemovedFromProject and other missing EventInfoState types. (#1591)

* Adding missing review types to event info.

* Fixing whitespace.

* Reword `BaseRefChanged` comment

* Adding missing event types.

* Change response models 'Url' properties from `Uri` to `string` (#1585)

* Add convention test to ensure 'Url' properties are of type string

Closes #1582

* Change 'Url' properties from Uri to string

Global Find/Replace FTW!

* fix compilation errors in the integration tests project

* Extend 'Url' properties type check to request models

* Stick to convention tests naming convention

* Remove unused using directives in models

Changing from `Uri` to `string` means the `using System;`
directive was not needed anymore in some files

* Update exception message wording

* empty commit to trigger a new build - hopefully Travis passes

* add convention test to ensure request models have Uri 'Url' properties

* make request models 'Url' properties Uri

fix typo in convention test name

* revert some request models 'Url' properties as `string`

see #1585 (comment)

* Change test so that all model types must have 'Url' properties of type string

 - Filter test input to only get types which have 'Url' properties
 - Merge response and request model types tests into one
 - Unparameterize the exception since we only check for the string type now

* Fix string.Format tokens

If this PR doesn't get rebased, it'll be my wall of shame FOREVER!

* and then it's even more embarrassing when the commit message says rebased but you really meant squashed

* Remove exclusion of `Release` from request models
@mderriey
Copy link
Contributor

mderriey commented May 2, 2017

I'm confused. How can there still be conflicts when master was just merged into dotnetcore? Have I not done what I think I've done?

@ryangribble
Copy link
Contributor Author

Could it be be because it squashed the PR instead of merge maybe?

@mderriey
Copy link
Contributor

mderriey commented May 2, 2017

Right, that makes sense. I think it does. So this happens because we lost the merge commit from master to dotnetcore?

@ryangribble
Copy link
Contributor Author

ryangribble commented May 2, 2017

Ive pushed a merge commit and the conflicts aren't showing now. It's interesting because locally the only 2 files on the merge were 2 csproj files, yet the github web interface was claiming conflicts in the linqpad files as well. 🤔

@ryangribble
Copy link
Contributor Author

FYI I've pushed a PR to do the mentioned doc updates (and as it turns out, a few more cleanup type tasks).
Once #1600 is merged into dotnetcore, we should be good to hit the button on this PR!

ryangribble and others added 2 commits May 4, 2017 20:32
* Dont hardcode linksources for linux builds

* split ConventionTests into their own build task, since this is how it was in FAKE previously

* update contributing doc after change to CAKE

* minor doc updates

* fix bash linksources argument

* remove all these old packages files

* use forward slashes when referring to bash script

* use Target parameter name for the PowerShell build script

* be consistent when referring to PowerShell build script

* Be even moar consistent
@ryangribble
Copy link
Contributor Author

OK people, I'm going to do it... see you on the other side 😁

LGTM

@M-Zuber
Copy link
Contributor

M-Zuber commented May 4, 2017

]

@ryangribble ryangribble changed the title Port to dotnetcore and implement CAKE build framework Deliver the dotnetcore port and CAKE build framework changes May 4, 2017
@ryangribble ryangribble merged commit 5f4a8d3 into master May 4, 2017
@ryangribble ryangribble modified the milestones: CAKE Builds, dotnetcore Aug 18, 2017
@ryangribble ryangribble modified the milestones: dotnetcore, CAKE Builds Aug 18, 2017
@shiftkey shiftkey deleted the dotnetcore branch February 24, 2020 23:49
@nickfloyd nickfloyd added Type: Feature New feature or request and removed category: feature labels Oct 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants