-
Notifications
You must be signed in to change notification settings - Fork 53
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
Add TravisCI Task #188
Comments
@gep13 Now that I have my cross platform builds working with Cake.Recipe, I am going to be looking into this. I have a few design questions.
If you want other's to weight in, please add them to the conversation. |
I am not clear on how/why they would step over each other. Can you elaborate here?
Ooo, I like this idea. We can get information about what CI system, if any, we are running on, and we can piece together what tasks should be executed based on which one it is. 👍 |
What I mean is, if I have my repository build on AppVeyor and TravisCI at the same time when they hit the But the thought on the second one, may be the answer to this issue. 😁 |
Ah, I see what you mean. On Cake, the way we handle this is that of the many CI servers that we build Cake on, only one of them performing certain tasks. i.e. the publishing, the uploading of artifacts, etc. In our case, we have chosen AppVeyor as the primary CI server, and it does everything. The other CI servers simply perform the compile, testing and publishing steps, to ensure that everything works, but they never do any of the publishing steps. |
Which is what I am driving towards. We would need a way in Cake.Recipe to designate the primary. Currently AppVeyor is set as the primary based on the task dependency chain. With some of the add ins I am working on, I would want Travis to be the primary because I want to run my integration tests only on Mac OSX or they will fail (i.e. Fastlane and Homebrew). Is there currently a way around that? As I understand it, Cake.Recipe is currently coupled to AppVeyor. |
At the minute, I think it is fair to say that Cake.Recipe "prefers" AppVeyor, and some tasks that are included in the default execution wouldn't work if you tried to run them anywhere else. However, there is nothing to stop us manipulating the task dependency graph, based on what CI system it is running on, in the same way that we manipulate it to choose between doing .net core build and a normal .net build. We likely want to add some additional criterias to tasks to ensure that tasks only run when they are meant to (if they don't already have them). |
So the task list seems as follows:
This sound accurate? |
Sounds about right to me 👍 |
@RLittlesII with the change to a BuildProvider mechanism, and the implementation of one for Travis CI, I think we are in a position to say that this is not good, right? If so, we can go ahead and close this out. |
I want to add a TravisCI task similar to the AppVeyor task to make Travis a first class citizen in Cake.Recipe.
The text was updated successfully, but these errors were encountered: