Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Question about the incremental build

I am trying to set up the incremental build for our team, using RTC 3.0.1. 

I use the following settings in the Build definition : 
- Delete directory before loading : UNCHECKED 
- Accept latest changes ... CHECKED 
- Build only if there are changes .. CHECKED 
The build is automatically scheduled on a regular basis. 

I have a problem in the following scenario:

1) I make a mistake in the build definition
2) The scheduled build fails because of the mistake
3) I fixed the problem in the build definition

But now that the built doesn't start on the scheduled time since there is no change in the source code. 

My question is that if there is way to force the build start if the previous build fails? For example, can I make my build workspace go back to the previous state (before the failed build)? 

This is useful since for example, I want a "changed file list" between my current build and the last successful team build, so I can parse the "changed file list" to determine what target(s) I need to rebuild. 

0 votes



One answer

Permanent link
The build workspace isn't something you should be manually changing unless you want to change where it accepts changes for the build. Every time a build runs, the build workspace will change if it's accepting new changes. This is the reason a snapshot is created during a build. You can use snapshots to compare the builds to see the differences.

To answer your question, the build won't restart if there weren't any changes since the last one. Unless there's an intermittent failure, I wouldn't expect a rerun to have any chance of passing. You'll have to manually request a build to rebuild with the same content.

1 vote

Comments

Thanks Tim for your quick response. I agree with you that the build workspace should not be manually changed. 


However, do you have any suggestion on how I resolve the following issue:  To get a "changed file list" between my current build and the last successful team build, so I can parse the "changed file list" to determine what target(s) I need to rebuild? Consider the following scenario:
1) Changes A and B are delivered
2) Build fails because of errors in the new code
3) Changes C and D are delivered, code error is fixed
4) Next scheduled build starts. 

Is there a way I can get the complete change list (A, B, C and D) so I can calculate the targets I need to build? 

Thanks,
Jay

You can compare builds by selecting them in the build view and invoking a compare on them. This will use the snapshots to compare the differences. This doesn't work on personal builds because snapshots aren't created for personal builds.

 But this won't work in my automated build. I guess I can do that by keeping a record of the snapshot of the last success build, and use that to generate the change log. I really wish RTC can provide a way to do that. 

Please open an enhancement if there's a build feature that you need.

If you are having to target various parts of the code to be built, you probably should break down the build into smaller parts for the CI build.  A CI build should not be calculating what to build, it should be a go or no go.  Generally though JBE does not do much on its own to persist data between builds.


~Spencer

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 12,015
× 562
× 85

Question asked: Feb 15 '13, 10:38 a.m.

Question was seen: 5,044 times

Last updated: Feb 15 '13, 3:48 p.m.

Confirmation Cancel Confirm