<< Back to previous view |
[QB-43] Allow build steps to be run after a build has been manually stopped
|
|
Status: | Resolved |
Project: | QuickBuild |
Component/s: | None |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Improvement | Priority: | Major |
Reporter: | Richard Sheldon | Assigned To: | Robin Shen |
Resolution: | Fixed | Votes: | 1 |
Remaining Estimate: | Unknown | Time Spent: | Unknown |
Original Estimate: | Unknown | ||
Environment: | All |
Description |
When a build is stopped manually, the process that's running is stopped, and no other steps are run. If your build consists of some cleanup steps, these don't get executed, and can leave your build environment in a dirty state, that can cause the next build to fail. For example, let's imagine I have a build consisting of the following steps: 1. Create DB Schema/User 2. Load DB Schema 3. Run tests/some other build step that needs the DB 4. Delete the DB Schema/User If the build is stopped manually, then step (4) doesn't get run, and the schema is left undeleted. When the next build runs, step (1) will fail because the user exists. In my environment, step (4) ALWAYS runs, so this build failure will in fact cleanup the problem, and the subsequent build will succeed. I recommend that stopping a build kills the current step, then evaluates the conditions on the subsequent steps to see if they should run. Stopping a step should mark it as failed, but should also set a new flag to say that the build has been stopped (in case there are steps that should only run if build has been stopped). e.g. this.parent.anyChildStepStopped, or this.parent.buildStopped. In the example case above, my DB clean step (4) has a condition of true, so it always runs. If you need more info, please let me know. |
Comments |
Comment by Robin Shen [ 27/Dec/12 09:37 AM ] |
This is already possible with step condition. |