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

Using of Cake.Recipe is tightly coupled with AppVeyor #259

Closed
vhatsura opened this issue Oct 7, 2018 · 4 comments
Closed

Using of Cake.Recipe is tightly coupled with AppVeyor #259

vhatsura opened this issue Oct 7, 2018 · 4 comments
Milestone

Comments

@vhatsura
Copy link
Contributor

vhatsura commented Oct 7, 2018

Hi, guys!

Big thanks for Cake.Recipe which is really simplify CI configuration.

However, as I see, Cake.Recipe has some limitations, such as tightly coupled with AppVeyor CI:

IsMainRepository = StringComparer.OrdinalIgnoreCase.Equals(string.Concat(repositoryOwner, "/", repositoryName), buildSystem.AppVeyor.Environment.Repository.Name);

@RLittlesII already raised issue related to this (#188), but I suggest to create a generic CIProvider, which will hide a really Build system Provider.

What do you think about it?

@pascalberger
Copy link
Member

We're definitely interested in having full support for different build servers inside Cake.Recipe. In the future we would like to give addin authors, which are hosting their addin inside the cake-contrib organization, the option to use Azure Pipeline builds additional to AppVeyor (as this for example would give us more parallel build pipelines), and as most of them are using Cake.Recipe this would require some work to abstract the build system integration.

That said I cannot give you an estimated time when this will be finished, as people working on this only have a limited amount of time. If you're interested in contributing, we would be happy to discuss possible implementations and accept PRs.

@vhatsura
Copy link
Contributor Author

vhatsura commented Oct 7, 2018

Hi, @pascalberger.

I understand your point about limited time and I definitely interested in contributing.

So, I suggest the following strategy:

  1. Move all stuff which is working with BuildSystem to separate class which encapsulates work with AppVeyor
  2. Implement tasks to support Azure Pipelines build system (as you mentioned )
  3. Implement checking build system at runtime and change logic of getting environment info depending on build system.

If you agree with this strategy, I will be happy to start contribute these changes.

And another question, which is not related to this issue. Do you think about migration to Frosting? It seems can simplify Cake.Recipe development.

@gep13 gep13 added this to the 2.0.0 milestone Sep 9, 2019
gep13 added a commit that referenced this issue Sep 30, 2019
gep13 added a commit that referenced this issue Sep 30, 2019
- Switch from AppVeyor to ContinuousIntegration
gep13 added a commit that referenced this issue Sep 30, 2019
@gep13
Copy link
Member

gep13 commented Sep 30, 2019

@vhatsura I have merged in your work in #373 and I have also taken the steps to rename the top level AppVeyor task to be ContinuousIntegration instead. There may well be some tidy up that needs to happen for everything to work properly, but could I ask you to take the latest pre-release version of Cake.Recipe for a spin on your Azure Pipelines, to see if they are working as you would expect.

gep13 added a commit that referenced this issue Oct 4, 2019
Remove possible duplication of files found using GetFiles, and also
alter folder structure for generated artifacts.
gep13 added a commit that referenced this issue Oct 4, 2019
Fix overriding of Task that was using the same name
@gep13
Copy link
Member

gep13 commented Jul 7, 2020

Cake.Recipe now supports running on AppVeyor, TeamCity, Azure Pipelines, Travis CI and of course locally on a developer machine. I think we can go ahead and close this out.

@gep13 gep13 closed this as completed Jul 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants