SCCS will no longer support LSF on the Mac.

Currently:

  1. We are unable to build automatically or manually using LSF - hoping unix-admins will help fix this.
  2. Can perform interactive builds - and hoping we can do so to at least support ST releases for now.

Options:

  1. Pursue Jenkins for Mac-only
  2. Consider cron jobs to get Mac builds to hobble along
  3. Other?

What do we absolutely need from the Mac Builds?

  • Connection to the SCons RM Databases
    •  installer
    • RM2 web display
  • Trigger off CVS tags
    • can we function where LATEST means any CVS commit and perhaps manually trigger HEAD and Releases?
  • Automated notification of build failures
    • RM handles parsing of the build.log now and sends those emails?

Jenkins

  • How to set up SCons RM Mac builds?  Can we start with the bldmac02/01 boxes to see how it goes?
    • SCons Builds, plus tarball generation
  • How to connect builds to the SCons RM Database? (needed for installer, build logs, RM2 support)
  • What is involved in triggering builds off CVS tags?

New Desktop Machine

  • When?
  • Where will it reside?
  • What OS?  Prefer Mountain Lion rather than Lion

Actions

  • Grant Tony access to the bldmac01/bldmac02 boxes by adding him to glastrm AFS group - DONE!
  • Tony to install Jenkins jar file on bldmac01/bldmac02 and try a "Hello World" script
  • Tom S to take the Hello World script and try to get Jenkins called in response to build trigger in RM via a "bridge script"
  • Richard to pursue purchase of 2 Mac Pros (and stuff them in an ISOC closet?)

Notes from Tom concerning "bridge script"

1) determine if a new build is needed
2) notify Jenkins to start the build

Then we'll need a script on the Mac that will

3) run each of the RM programs in order to process the build.

If we were just doing a cron job, we'd only need 1 & 3.

What I'm not sure about is exactly how to best go about #1.  There are several ways of doing it:

a) Add a new workflow to the RM that we trigger for Mac builds.  This should be possible but that bit of the code is very untested outside of how we currently use it.  Navid wrote this whole engine and then never used it.  It may or may not work.

b) Turn off automatic triggers for Mac builds and have something (cron job, Jenkins, etc.) look for builds where there should have been a Mac build and start it up.  This has issue in that it's the automatic trigger setting that determine which ones should run.  If we turn that all off, we need to store this logic somewhere else (i.e. another database entry or something)

c) Something in the middle that creates the build entries but then doesn't call the LSF jobs.  I'm not exactly sure how this would be implemented.  Then Jenkins or something else would look for these entries and trigger the build.

The point is this is the tricky part and will greatly depend on how we proceed.  And on exactly how (or if) we interface with Jenkins.  I'd do it one way if we were doing simple cron jobs and probably have to do it a different way if we go through Jenkins.

  • No labels