This sounds somewhat similar to what I'm doing with a set of jobs. I have a 
matrix job that produces 32-bit and 64-bit builds of a piece of software, on a 
variety of Linux platforms, in a bunch of configurations. Each of these stores 
away the produced binaries as job artifacts.

There is another matrix job, triggered by completion of the first one, that has 
the same axes, but uses a slightly different set of nodes to run the jobs. Each 
job retrieves the binary artifacts from the previous matrix job (from the 
matching cell) and runs unit tests.

It's really far simpler to model this as a sequence of jobs instead of trying 
to do it in a single matrix job, where one of the axes defines what should be 
done.

----- Original Message -----
From: [email protected]
To: [email protected]
Cc: Kevin Fleming (BLOOMBERG/ 731 LEXIN)
At: Apr 17 2013 14:49:10

Thanks for the feedback, Kevin.

It is my intent to run the same steps on each cell in the matrix (sans things 
which evaluate to false using the combination filter).  The last step of each 
applicable configuration should be "get the logs from the target this the set 
of tests was run against", which is also a test step in its own write due to 
how the logs are generated.

If you consider a matrix like the following crude mockup:

                               | CompilerPool | ArchATargetPool | 
ArchBTargetPool |
touchstone-build       | O                  | O                    | O          
          |             
touchstone-unit_test  | O                  | O                    | O           
         |
functionalTests         | O                   | O                    | O        
            |
logRetrievalTests      | O                  | O                    | O          
          |

I can execute the touchstone builds (compile, unit-test) and prevent functional 
tests/etc from being run, so I understand the sanity check.  The touchstone 
builds go to build slaves which compiles the code, runs unit tests,etc.  The 
functional tests and log retrieval are then run against the build created in 
the touchstone step.  The log retrieval needs to happen after the functional 
tests run, for every combination of axes which return true.

The only part of this setup that isn't working is getting the logs retrieval to 
occur directly after each functional test is run, and to still be considered an 
axis in the matrix.

Thanks,

Adam

On Tuesday, April 16, 2013 3:46:12 PM UTC-6, Kevin Fleming wrote:
Why not just run this last job as a child job of the matrix build? The matrix 
build is really designed for running the *same* steps for each cell in the 
matrix; if you find yourself trying to coerce it into handling an entire flow 
of builds, you're probably heading the wrong direction.

The purpose of 'touchstone' builds in matrix jobs is not to perform preparatory 
work for the other builds, it's to run a build that acts as a sanity check on 
the code in question before launching into dozens (or hundreds) of other builds 
that would just fail anyway.

----- Original Message -----
From: [email protected]
To: [email protected]
At: Apr 16 2013 15:42:54


Thanks for the quick reply, Sami. 

I'm interested in forcing the particular configuration to run  last because I 
have lots of tests which generate quite a bit of useful  debugging info on the 
back-end of the target that I am running the  exhaustive tests against. 
Once the testing is complete, I retrieve logs from that target  system in such 
a way that the retrieval itself becomes a sort of code  coverage test. 

The thing I am looking for is something like how one can execute  a touchstone 
build first by specifying some identifying character in,  but more like a 
'tombstone' configuration which would be guaranteed to  run last, and be 
included in the matrix. 

Adam                            

On Thursday, April 4, 2013 3:57:11 PM UTC-6, sti wrote:
You cannot control the order in which matrix job builds its configurations. 
 
You need to remove the configuration you want to run last and make a new 
non-matrix job. Then make the matrix job trigger a build of the non-matrix job. 
 
If this is not good for you, please explain what you are trying to do and maybe 
we can suggest a better way to do it. 
 
-- Sami 
 
Adam Daughterson <[email protected]> kirjoitti 3.4.2013 kello 17.22: 
 
> I have a matrix build with touchstone builds, multiple configurations, etc.  
> I have a step which should be the last step in the matrix (not a triggered 
> parameterized build, etc) and can't find a way to force the job to run that 
> last step last. 
> I've tried using the "Run each configuration sequentially" option, but it 
> appears to only force the jobs to run serially. 
>  
> Anyone have any suggestions on what I can do to get this desired 
> functionality? 
>  
> Thanks in advance, 
>  
> Adam 
>  
> --  
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Users" group. 
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected]. 
> For more options, visit https://groups.google.com/groups/opt_out. 
>   
>   
 

-- 
 You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
 To unsubscribe from this group and stop receiving emails from it, send an 
email to [email protected].
 For more options, visit https://groups.google.com/groups/opt_out.
  
  
 

-- 
 You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
 To unsubscribe from this group and stop receiving emails from it, send an 
email to [email protected].
 For more options, visit https://groups.google.com/groups/opt_out.
  
  
 

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to