<< Back to previous view

[QB-43] Allow build steps to be run after a build has been manually stopped
Created: 06/Mar/06  Updated: 27/Dec/12

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.
Generated at Thu May 02 05:26:55 UTC 2024 using JIRA 189.