How to test build script changes on travis without having to check in code for each change

I am having a build issue on travis with my node.js project. The issue stems from the fact that I have a rather complex test that I want to run, which requires building and running some test scaffolding framework on the VM before I get to 'npm test'. Somewhere along the line it is failing, and I find myself adding debugging statements to my .travis.yml to try to root out the problem, but its annoying to have my commit history littered with these changes/attempted fixes.

I guess I want to be able to either (a) get on the travis box at the time the test is running (or afterwards) so I can inspect what is going on/went wrong, or (b) at least be able to tweak and run my .travis.yml file and associated scripts somehow and re-run immediately without having to formally check those changes in in order to kick off travis again.

I find myself adding debugging statements to my .travis.yml to try to root out the problem, but its annoying to have my commit history littered with these changes/attempted fixes.

If the history is important, maybe because your changelog is generated from it, then my suggestion is, to create a private sandbox for experiments by cloning the repo.

  1. clone a organization repo to a user repo.
  2. activate travis on the user repo
  3. try and error commit as long as you need to your .travis.yml
  4. when everything is working like you want, squash the git commits into 1
  5. do a pull request of this single commit from user repo to company repo
  6. et voila: history stays clean

Big Warning: When you have no contributors with forks to worry about, then you could simply commit till you get it right and squash the history into a single commit and do a force push.

get on the travis box at the time the test is running (or afterwards) so I can inspect what is going on/went wrong

That's not possible. But you can view or download the log from the builds. If you view the build log directly after a push, then you get live view of the processing steps on the Travis env. You can also cancel it manually.

at least be able to tweak and run my .travis.yml file and associated scripts somehow and re-run immediately without having to formally check those changes in in order to kick off travis again.

You could try executing your build commands inside a normal Ubuntu VM.

Back in the days box images were available over at http://files.travis-ci.org/boxes/provisioned/travis-ruby.box But Travis switched from Vagrant to BlueBox and stopped providing the downloads. You could try on IRC and ask to get access to your “box” for debugging. I'm not sure if you get access.