Skip to content

Daily builds and Jenkins

Jerry Morrison edited this page Mar 29, 2019 · 12 revisions

There are several jobs for continuous integration testing run by Jenkins on Sherlock.

Jobs tested everyday (output is saved to $PI_SCRATCH/wc_ecoli/...):

  • daily_build - 25 gens in basal condition and nosetests (performance)
  • with_aa - 8 gens in with amino acid condition
  • anaerobic - 8 gens in anaerobic condition

Whenever a pull request is submitted (or committed to) or a commit is added to master, 2 gens in basal condition will run and nosetests (smalltest) will be run. Analysis plots and simulation output are not saved for these tests.

To access log output for each of the runs you need to ssh with port forwarding:

ssh <username>@ln05.sherlock.stanford.edu -L 4242:localhost:4242

Then simply go to localhost:4242 in a browser on your computer.

If this doesn't work, it is possible that the port from the compute node is not being properly forwarded to the login node. You can work around it by running a job on the same compute node that Jenkins is running on. First look for the compute node that Jenkins is running on in the output of:

squeue -p mcovert

or

squeue | grep jenkins

then use:

srun -w <node> <other options>

e.g.

srun -w sh-08-30 -p mcovert --time=2:00:00 --cpus-per-task=1 --pty bash -l

to request a specific node. Then run:

ssh -nNT <compute_node> -L 4242:localhost:4242 &

from the login node and you should be able to access the port locally.

NOTE: if a PR build fails due to a network or Sherlock issue, you can rerun it by commenting on the PR on github with

retest this please