In GO, it should be possible to automatically fail any pipeline Stage or Job if a preset elapsed execution time has been exceeded, irrespective of whether there has been recent console output.
This is different from the current Job timeout feature, which only works for unresponsive builds.
Use Case: in order to catch and prevent the slow deterioration of pipeline jobs (over many weeks), we want to be able to set maximum execution times for each Pipeline, Stage, and Job. This means that we catch slow increases in execution times early, and can take the opportunity to re-write or remove slow tests.
See page 73 of Continuous Delivery by Humble & Farley: Failing the Build for Slow Tests
Jenkins has something like this in the Build-timeout Plugin: https://wiki.jenkins-ci.org/display/JENKINS/Build-timeout+Plugin
Please sign in to leave a comment.