-
Notifications
You must be signed in to change notification settings - Fork 725
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
building every revision #9183
Comments
The only way to guarantee that "every commit is built" is to push every commit to GitHub. For example, if you push more than 3 tags simultaneously. https://developer.github.com/v3/activity/events/types/#createevent |
Yes, so I could push every commit one at a time to github, but that won't give me any kind of real record that every single commit compiled. What would be ideal is if the build VM/container could wipe the source code and pull another commit... but remember which ones that it did, so that it never did it over and over again (which is what happens today). |
Why not? Each push will build that commit from scratch.
What does this sentence mean? There are so many "it"'s here I am having a hard time understanding what you are saying. |
I agree with @mcr. This could be an awesome feature for travis-ci in order to facilitate git bisect. |
In particular, failure to build every commit usually results in the developers either moving some code around, or re-ordering some commits with a rebase. Travis should not have to validate any of the commits that were before the rebase diverged. |
What I'd need is some kind of API that a build could use to communicate with Travis from within the test environment, and could annotate commits, and also inquire as to whether the commit has been annotated. |
Getting this isn't too complicated. This oneliner does it: for C in {32..0..2}; do git push thirtybees testbranch~${C}:testbranch; sleep 360; done
Caveat of this strategy: one can forget to use this oneliner. Obviously :-) |
In order to facilitate git bisect, we have a requirement that every commit can be built.
It does not have to pass testing, but it has to compile. If it doesn't, then it's a problem.
We have a script that builds every revision since the last time we did a version tag, but it's unreasonably long winded, and just now, we ran out of compute time since we pushed a particularly long rebase to github.
This seems like something that travis could keep track of if we configured it to pay attention.
Maybe there is some way to do this that I've missed, or maybe it's a good feature request.
The text was updated successfully, but these errors were encountered: