History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-43
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Robin Shen
Reporter: Richard Sheldon
Votes: 1
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Allow build steps to be run after a build has been manually stopped

Created: 06/Mar/06 11:36 PM   Updated: 27/Dec/12 09:37 AM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: All


 Description  « Hide
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.

 All   Comments   Work Log   Change History      Sort Order:
Robin Shen [27/Dec/12 09:37 AM]
This is already possible with step condition.