Re: [Pharo-dev] Serializing Pharo Contribution CI jobs from one matrix
Hi Sven, Le 22 janv. 2014 à 18:24, Sven Van Caekenberghe a écrit : Hi, Is it possible to serialize (i.e. do not execute in parallel) the CI jobs of one matrix of Pharo Contributions ? The Zinc jobs occasionally fails because they interfere with each other (i.e. although they use random ports for servers during unit testing, sometimes they use a port that is already in use by a parallel running job, presumably from the built matrix). Matrix jobs are seen as individual jobs. Maybe you can just tick this option in the job configuration: Run each configuration sequentially There are other solutions: https://wiki.jenkins-ci.org/display/JENKINS/Port+Allocator+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Lockable+Resources+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Exclusion-Plugin Christophe. smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-dev] Serializing Pharo Contribution CI jobs from one matrix
On 23 Jan 2014, at 10:57, Christophe Demarey christophe.dema...@inria.fr wrote: Hi Sven, Le 22 janv. 2014 à 18:24, Sven Van Caekenberghe a écrit : Hi, Is it possible to serialize (i.e. do not execute in parallel) the CI jobs of one matrix of Pharo Contributions ? The Zinc jobs occasionally fails because they interfere with each other (i.e. although they use random ports for servers during unit testing, sometimes they use a port that is already in use by a parallel running job, presumably from the built matrix). Matrix jobs are seen as individual jobs. Maybe you can just tick this option in the job configuration: Run each configuration sequentially Works perfectly, thanks ! There are other solutions: • https://wiki.jenkins-ci.org/display/JENKINS/Port+Allocator+Plugin • https://wiki.jenkins-ci.org/display/JENKINS/Lockable+Resources+Plugin • https://wiki.jenkins-ci.org/display/JENKINS/Exclusion-Plugin Christophe.
[Pharo-dev] Serializing Pharo Contribution CI jobs from one matrix
Hi, Is it possible to serialize (i.e. do not execute in parallel) the CI jobs of one matrix of Pharo Contributions ? The Zinc jobs occasionally fails because they interfere with each other (i.e. although they use random ports for servers during unit testing, sometimes they use a port that is already in use by a parallel running job, presumably from the built matrix). Thx, Sven
Re: [Pharo-dev] Serializing Pharo Contribution CI jobs from one matrix
Hi Sven, We have a similar issue on our build server and Jenkins gives you an environment variable $EXECUTOR_NUMBER which you can use to define different ports to be used in the tests. From our config, the function below assumes 3 possible executors and defines a set of environment variables that the tests will use. Of course, we use OSProcess to read the variables in Pharo itself. Maybe this helps. Cheers Johan function setupconfiguration { if [ $EXECUTOR_NUMBER -eq 0 ]; then export DISPLAY=:3 export NPGOODSPORT=7001 export NPGOODSTELNETPORT=8922 export NPSELENIUMPORT=4446 export NPNEXTPLANPORT=8082 export NPJASPERREPORTSPORT=9095 fi if [ $EXECUTOR_NUMBER -eq 1 ]; then export DISPLAY=:5 export NPGOODSPORT=7002 export NPGOODSTELNETPORT=8923 export NPSELENIUMPORT=4448 export NPNEXTPLANPORT=8084 export NPJASPERREPORTSPORT=9096 fi if [ $EXECUTOR_NUMBER -eq 2 ]; then export DISPLAY=:6 export NPGOODSPORT=7003 export NPGOODSTELNETPORT=8924 export NPSELENIUMPORT=4449 export NPNEXTPLANPORT=8085 export NPJASPERREPORTSPORT=9097 fi } On 22 Jan 2014, at 18:24, Sven Van Caekenberghe s...@stfx.eu wrote: Hi, Is it possible to serialize (i.e. do not execute in parallel) the CI jobs of one matrix of Pharo Contributions ? The Zinc jobs occasionally fails because they interfere with each other (i.e. although they use random ports for servers during unit testing, sometimes they use a port that is already in use by a parallel running job, presumably from the built matrix). Thx, Sven
Re: [Pharo-dev] Serializing Pharo Contribution CI jobs from one matrix
Dag Johan, Bedankt voor de tip. (Thanks for the tip) I was hoping for a simpler solution ;-) Doing it like that binds the tests a bit to the CI environment, but maybe I can make that optional. BTW, on Pharo 3.0, environment access is built in: Smalltalk os environment getEnv: 'USER'. I guess that I can't do that on 2.0, which I would need. Maybe I can pass something in as a command line argument. I'll have to think about that. Sven On 22 Jan 2014, at 19:37, Johan Brichau jo...@inceptive.be wrote: Hi Sven, We have a similar issue on our build server and Jenkins gives you an environment variable $EXECUTOR_NUMBER which you can use to define different ports to be used in the tests. From our config, the function below assumes 3 possible executors and defines a set of environment variables that the tests will use. Of course, we use OSProcess to read the variables in Pharo itself. Maybe this helps. Cheers Johan function setupconfiguration { if [ $EXECUTOR_NUMBER -eq 0 ]; then export DISPLAY=:3 export NPGOODSPORT=7001 export NPGOODSTELNETPORT=8922 export NPSELENIUMPORT=4446 export NPNEXTPLANPORT=8082 export NPJASPERREPORTSPORT=9095 fi if [ $EXECUTOR_NUMBER -eq 1 ]; then export DISPLAY=:5 export NPGOODSPORT=7002 export NPGOODSTELNETPORT=8923 export NPSELENIUMPORT=4448 export NPNEXTPLANPORT=8084 export NPJASPERREPORTSPORT=9096 fi if [ $EXECUTOR_NUMBER -eq 2 ]; then export DISPLAY=:6 export NPGOODSPORT=7003 export NPGOODSTELNETPORT=8924 export NPSELENIUMPORT=4449 export NPNEXTPLANPORT=8085 export NPJASPERREPORTSPORT=9097 fi } On 22 Jan 2014, at 18:24, Sven Van Caekenberghe s...@stfx.eu wrote: Hi, Is it possible to serialize (i.e. do not execute in parallel) the CI jobs of one matrix of Pharo Contributions ? The Zinc jobs occasionally fails because they interfere with each other (i.e. although they use random ports for servers during unit testing, sometimes they use a port that is already in use by a parallel running job, presumably from the built matrix). Thx, Sven